您的位置:首页 > 其它

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

2014-09-22 11:43 393 查看
思路:
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;
}

结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐