strstr関数実装(C言語)

944 ワード

strstr関数実装(C言語)
second60  20180601
strstrは文字列でサブストリングを検索するために使用されます.   
ちなみに、文字列操作関数はC言語で非常に重要な関数であり、ポインタのエッセンスが含まれていると同時に、チェーンテーブル、配列などのデータ構造を学ぶのに非常に良い練習方法があります.同時に、内部実現を知ることは、基礎の中の基礎である.したがって,文字列操作関数を学習することはCを深く学ぶ上で必ず通らなければならない道である.
#include 
#include 

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
", r); getchar(); return 0; }