strstr()函数用来查找一个字符串中的子串,若子串存在,返回子串的地址。
#include <stdio.h>
#include <assert.h>
char* My_Strstr(const char* p1, const char* p2)
{
assert(p1 && p2);
char* s1 = NULL;
char* s2 = NULL;
char* current = (char*) p1;
while(*current)
{
s1 = current;
s2 = (char*) p2;
while((s1 != '\0') && (s2 != '\0') && (*s1 == *s2))
{
s1++;
s2++;
}
if(*s2 == '\0')
{
return current; //找到子串。
}
if(*s1 == '\0')
{
return NULL; //找不到子串。
}
current++;
}
return NULL; //找不到子串。
}
int main()
{
char* p1 = "abbbcdef";
char* p2 = "bbc";
char* ret = My_Strstr(p1,p2);
printf("%s\n", ret);
return 0;
}