#include<stdio.h>
#include<assert.h>
char* strstr_me(const char *str1,const char *str2) //在str1中寻找str2,并且返回str2之后的字符串
{
assert((str1!=NULL)&&(str2!=NULL));
for(;*str1!='\0';str1++)
{
const char *p=str1;
const char *q=str2;
const char *res=NULL;
if(*p==*q) //第一个字符匹配的情况下
{
res=p; //记录下这个位置,以便后续返回
while(*p==*q)
{
p++;
q++;
}
if(*q=='\0') //已经完全匹配的情况
return (char *)res;
}
str1++;
}
return NULL;
}
int main()
{
char *str1="you are the test..\n";
char *str2="are";
const char *res=strstr_me(str1,str2);
printf("res=%s\n",res);
return 0;
}
学习笔记---strstr的实现
最新推荐文章于 2018-11-19 19:19:29 发布