码迷,mamicode.com
首页 > 其他好文 > 详细

C系列函数原型之-StrStr(char *str,char *subStr)的实现

时间:2014-09-22 13:16:42      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   os   ar   2014   sp   on   log   

思路:

1、对于字符串最后一位为‘\0‘,可以作为临界条件

2、当*str != ‘\0‘的时候,判断*p是否等于*q,如果相等继续后移2个指针,如果最后*q的指针到达边界,说明整个匹配是成功的,直接返回res即可。否则后移主串指针。


#include <iostream>


char *Mystrstr(char *str,char *subStr){

    

    while (*str !=‘\0‘ ) {

        char *p = str;

        char *q = subStr;

        char *res =NULL;

        if (*p == *q) {

            res = p;

            while (*q !=‘\0‘ && *p == *q){

                p++;

                q++;

            }

                

           if (*q ==‘\0‘)

                    return res;

        }

        str++;

    }

    returnNULL;

}


int main(int argc,const char * argv[])

{

    char *s1 ="abcdefghijklmn";

    char *s2 ="bcd";


    // 在字符串s1中寻找字符串2,若找到返回位置,否则返回Null

    char *res =Mystrstr(s1, s2);

    

    if (res !=NULL) {

        printf("%s",res);

    }else{

        printf("not");

    }

    printf("\n");

    

    return0;

}


结果:

bubuko.com,布布扣

C系列函数原型之-StrStr(char *str,char *subStr)的实现

标签:blog   http   io   os   ar   2014   sp   on   log   

原文地址:http://blog.csdn.net/paulery2012/article/details/39474385

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!