📅  最后修改于: 2023-12-03 14:44:08.309000             🧑  作者: Mango
man strstr
是一个在 C 标准库中存在的函数,它用于在一个字符串中查找另一个字符串出现的位置。在使用 strstr
函数时需要注意,它只能用于搜索子串(sub-string),也就是必须被找到的那个字符串,而不是整个字符串。另外,这个函数是不区分大小写的,也就是说 strstr("Hello", "h")
和 strstr("Hello", "H")
都会返回 Hello
字符串的指针。
char *strstr(const char *haystack, const char *needle);
man strstr
函数接受两个参数:
haystack
:被搜索的字符串needle
:要查找的子串函数返回值是在 haystack
字符串中找到的第一个 needle
字符串的指针位置。如果找不到,则返回 NULL
。
在以下示例中,我们会使用 strstr
函数来搜索字符串。
#include <stdio.h>
#include <string.h>
int main () {
const char haystack[20] = "TutorialsPoint";
const char needle[10] = "Point";
char *ret;
ret = strstr(haystack, needle);
printf("The substring is: %s\n", ret);
return 0;
}
输出结果:
The substring is: Point
如我们所见,strstr
函数已经返回了 haystack
字符串中第一次出现 needle
字符串的位置。
haystack
的地址,而不是只想匹配的字符串 needle
的地址。memcmp
函数比较两个字符串。NULL
字符的处理,以及要搜索的子串的长度。