strstr函数
strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL
const char* strstr(const char* str1,const char* str2);
char* strstr(char* str1,const char* str2);
库中实现的strstr
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="This is a simple string";
char * pch;
pch = strstr (str,"simple");
strncpy (pch,"sample",6);
puts (str);
return 0;
}
模拟实现strstr函数
const char* My_strstr(const char* str1, const char* str2)
{
assert(str1);
assert(str2);
while (*str1 != '\0')
{
const char* p1 = str1;
const char* p2 = str2;
while ((*p1 != '\0') && (*p2 != '\0') && (*p1 == *p2))
{
++p1;
++p2;
}
if (*p2 == '\0')
{
return str1;
}
++str1;
}
return NULL;
}
int main()
{
char str1[] = "a wwww qqqqqqqqqqqqqqq";
char str2[] = "www";
printf("%s\n", My_strstr(str1, str2));
system("pause");
return 0;
}