[C语言]strstr函数的使用和模拟实现
1.strstr函数的使用
char * strstr ( const char *str1, const char * str2);
返回一个指向str1中str2第一次出现的指针,如果str2中没有str1则返回
NULL
。。
实例:
#include <stdio.h>
#include <string.h>
int main()
{char str[] = "zhangsan lisi wanger";char* pch;pch = strstr(str, "lisi");puts(pch);return 0;
}
运行结果:
2.strstr函数的模拟实现
char* my_strstr(const char* str1, const char* str2)
{char* cp = (char*)str1;char* s1, * s2;if (!*str2)return((char*)str1);while (*cp){s1 = cp;s2 = (char*)str2;while (*s1 && *s2 && !(*s1 - *s2))s1++, s2++;if (!*s2)return(cp);cp++;}return(NULL);
}
int main()
{char str[] = "zhangsan lisi wanger";char* pch;pch = my_strstr(str, "lisi");puts(pch);return 0;
}