C函数库中的strstr实现
来源:互联网 发布:mac git config 文件 编辑:程序博客网 时间:2024/06/07 19:56
/**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;}