1、什么是strstr?
strstr() 函数:是用来搜索一个字符串在另一个字符串中的第一次出现。
函数原型:char *strstr( const char *string, const char *strCharSet );
2、模拟实现strstr
char *my_strstr(char *string,char *strCharSet)
{
char* start = string; //保存所搜索字符串的起始地址 char* p = start;
char* q = strCharSet;
assert(p);
assert(q);
while (*p)
{
p = start;
while ((*p != '\0') && (*q != '\0'))
{
if (*p == *q)
{
p++;
q++;
}
else
{
start++;
q = strCharSet;
break;
}
}
if (*q == '\0')
{
return start;
}
}
return NULL;
}
测试代码:
int main()
{
char *str1 = "abcdef";
char *str2 = "cde";
char *str3 = "cdfe";
char *ret1 = my_strstr(str1, str2);
char *ret2 = my_strstr(str1, str3);
printf("%s\n", ret1);
printf("%s\n", ret2);
system("pause");
return 0;
}
运行结果