模拟实现 strstr

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

char* my_strstr(const char* str1,const char* str2)
{
const char *start = str1;
const char *substr = str2;
const char *cur = str1;

assert(str1 != NULL);
assert(str2 != NULL);

if (*substr == '\0')
{
return NULL;
}
while (*cur)
{
cur = start;
while (*start == *substr)
{ 
if (*substr == '\0')
break;
start++;
substr++;
}
if (*substr == '\0')
return (char*)cur;
substr = str2;
start = ++cur;
}
return NULL;
}
int main()
{
char *str1 = "hello peiqi";
char *str2 = "llo p"; 
char* ret = 0;
ret = my_strstr(str1,str2);
printf("%s\n",ret);
return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39478237/article/details/81013616
今日推荐