自己实现的很不好:
char* str_str(const char* s1,const char* s2)
{
assert(s1 != NULL && s2 != NULL);
while(*s1++ != '\0')
{
if(strncmp(s1,s2,strlen(s2))==0)
{
return (char*)s1;
}
}
return NULL;
}
另一个版本VC++2005:
char *strstr (const char * str1, const char * str2)
{
char *cp = (char *) str1;
char *s1, *s2;
if( !*str2 )
return((char *)str1);
while(*cp)
{
s1 = cp;
s2 = (char *) str2;
while ( *s1 && *s2 && !(*s1-*s2) )
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return (NULL);
}
Do not complain about things you are not willing to work hard to change.