提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
strstr的头文件<string.h>
一、strstr描述
C 库函数 char *strstr(const char *haystack, const char *needle) 在字符串 haystack 中查找第一次出现字符串 needle 的位置,不包含终止符 ‘\0’。
二、strstr声明
char *strstr(const char *haystack, const char *needle)
三、strstr参数
haystack – 要被检索的 C 字符串。 needle – 在 haystack 字符串内要搜索的小字符串。
四、strstr返回值
该函数返回在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返回 NULL。
五、strstr实例
int main()
{
const char haystack[20] = "dianzan";
const char needle[10] = "zan";
char* ret;
ret = strstr(haystack, needle);
printf("子字符串是: %s\n", ret);
return(0);
}
六、strstr的模拟
char* my_strstr(const char* haystack, const char* needle)
{
char* cp = (char*)haystack;
char* s1, * s2;
if (!*needle)
return((char*)haystack);
while (*cp)
{
s1 = cp;
s2 = (char*)needle;
while (*s1 && *s2 && !(*s1 - *s2))
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return(NULL);
}
int main()
{
const char haystack[20] = "dianzan";
const char needle[10] = "zan";
char* ret;
ret = my_strstr(haystack, needle);
printf("子字符串是: %s\n", ret);
return(0);
}