strstr函数实现(C语言)

strstr函数实现(C语言)

second60  20180601

        strstr 用来字符串查找子串。   

        顺便说一下, 字符串操作函数是C语言中非常重要的函数,里面包括了指针的精华,同时对学习数据结构,如链表,数组,有非常好的练手方法。同时,知道内部实现,是基础中的基础。所以学习字符串操作函数是深入学C的必经之路。

#include <stdio.h>
#include <assert.h>

const char* strstr(const char* src, const char* sub)
{
    const char *bp;
    const char *sp;
    if(!src || !sub)
    {
        return src;
    }
    /* 遍历src字符串  */
    while(*src)
    {
        /* 用来遍历子串 */
        bp = src;
        sp = sub;
        do
        {
            if(!*sp)  /*到了sub的结束位置,返回src位置   */
                return src;
        }while(*bp++ == *sp ++);
        src ++;
    }
    return NULL;
}


int main()
{
    char p[] = "123456";
    char q[] = "23";
    char *r = strstr(p,q);
    printf("r:%s\n", r);
    getchar();
    return 0;
}


猜你喜欢

转载自blog.csdn.net/second60/article/details/80532595