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;}