/*
*copyright@nciaebupt 转载请注明出处
*原型:char *strstr(const char *haystack, const char *needle);
*用法:#include <string.h>
*功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
*说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。
*使用C函数库中的strstr
*/
#include <cstdio>
#include <cstring>
int main(int args,char ** argv)
{
char str[] = "This is a simple string";
char * pch = _strstr(str,"simple");
strncpy(pch,"sample",6);
printf("%s\n",str);
getchar();
return 0;
}
/*
*copyright@nciaebupt 转载请注明出处
*原型:char *strstr(const char *haystack, const char *needle);
*用法:#include <string.h>
*功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
*说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL。
*自己实现strstr
*/
#include <cstdio>
#include <cstring>
char * _strstr(const char * str1,const char * str2)
{
char * cp = (char *)str1;
char * s1;
char * s2;
if(!*str2)
return ((char *)str1);
while(*cp)
{
s1 = cp;
s2 = (char *)str2;
while(*s1 && *s2 && !(*s2 - *s1))
{
s1++;
s2++;
}
if(!*s2)
return (cp);
cp++;
}
return NULL;
}
int main(int args,char ** argv)
{
char str[] = "This is a simple string";
char * pch = _strstr(str,"simple");
strncpy(pch,"sample",6);
printf("%s\n",str);
getchar();
return 0;
}
C函数库中的strstr实现
最新推荐文章于 2022-07-14 23:46:44 发布