① 如果是C,直接就是strstr这个函数;如果是C++,手段很多, 最直接就是string,然后substr就可以;
② 如果是让你自己写一个C程序来实现strstr的功能,那么
int my_strstr(const char *s1, const char *s2)
{
int retcode = -1;
int pos = 0;
size_t n;
if (s1 == NULL)
return -2;
if (s2 == NULL)
return -3;
n = strlen(s2);
while(*s1)
if(!memcmp(s1++,s2,n))
{
retcode = pos;
break;
}
else
pos++;
return retcode;
}
测试程序:
#include
#include
#include
int my_strstr(const char *s1, const char *s2);
int main(int argc, char *argv[])
{
char str1[] = "abcde123\0";
char str2[] = "e1\0";
int pos;
pos = my_strstr(str1, str2);
printf("pos = %d\n", pos);
return 0;
}
输出: pos = 4 (基于0)
strstr函数就是用来干这个的呀