模拟实现strstr函数

来源:互联网 发布:手机怎么打开index.php 编辑:程序博客网 时间:2024/05/21 09:16

strstr

函数简介

函数原型:

char *strstr( const char *string, const char *strCharSet );

函数功能:搜索一个字符串在另一个字符串中的第一次出现。
返回值:若strCharSet是string的子串,则返回strCharSet在string的首次出现的地址;如果strCharSet不是string的子串,则返回NULL。
代码实例:

    char str[] = "1234xyz";    char *ret = strstr(str, "34");    cout << ret << endl;//输出结果:34xyz

模拟实现

char* my_strstr(const char* string, const char* str){    assert(string);    assert(str);    char* str1 = (char*)string;    char* str2 = (char*)str;    char* ret = NULL;    if (*str2 == '\0')        return str1;    while (*str1)    {        ret = str1;        while ((*str1) && (*str2) && (*str1 == *str2))        {            str1++;            str2++;        }        if (*str2 == '\0')        {            return ret;        }        str1 = ret + 1;        str2 = (char*)str;    }    return NULL;}
原创粉丝点击