strstr为库函数的一种,是用来查找字符串子串,其库函数原型为
char *strstr( const char *string, const char *strCharSet );
下来我们自己来模拟实现它
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
char *my_strstr(char *dst, char *src)
{
char *p = dst; //保存目标串的起始地址;
char *s1 = p;
char *s2 = src;
assert(dst); //vs2008环境,assert放在定义后面
assert(src);
while (*s1)
{
s1 = p;
while ((*s1!='\0')&&(*s2 != '\0'))
{
if (*s1 == *s2)
{
s1++;
s2++;
}
else
{
p++;
s2 = src;
break;
}
}
if (*s2 == '\0') //判断是否找到;
{
return p;
}
}
return NULL; //找不到返回NULL;
}
int main()
{
char *str1 = "ababcdef";
char *str2 = "abc";
char *ret = my_strstr(str1, str2);
printf("%s\n", ret);
return 0;
}
运行结果
明天继续!!!<笑脸>