char *strstr(char *haystack, char *needle)
{
int i, j;
for( i=0; i
for( j=0; j
if ( haystack[i] != needle[j] )
break;
if(i>=strlen(haystack))
return NULL;
else
return &haystack[i];
}
功能:从字符串haystack中寻找needle第一次出现的位置(不比较结束符NULL)。
说明:返回指向第一次出现needle位置的指针,如果没找到则返回NULL
char *str_str(char *haystack, char *needle)
{
char *res=NULL;
int len1=strlen(haystack);
int len2=strlen(needle);
int i,j,n;
if(len2>len1) return res;
n=len1-len2;
for(i=0;i<=n;i++)
{
for(j=0;j {
if(haystack[i+j] != needle[j]) break;
}
if(j==len2)
{
res=haystack+i;
break;
}
}
return res;
}
int i=0, j=0;
if( strlen(s1) < strlen(s2) )
return null;
while( *(s1+i) && *(s2+j) )
{
if(*(s1+i)==*(s2+j))
{i++;j++;}
else
{i=i-j+1;j=0;}
}
return (j>0)?i-j:null;
char *mystrstr ( char *haystack, char *needle)
{
char *p= haystack;
char *p1, *p2;
if ( !*needle ) return( (char*)haystack );
while ( *p )
{
p1 = p;
p2 = (char*)needle;
while ( *p1 && *p2 && ( *p1++ == *p2++ ) );
if ( !*p2 )
return (p);
p++;
}
return(NULL);
}
char *strstr(char *haystack, char *needle)
{
char *pChar;
pChar = needle;
int len = strlen(needle);
for(; strchr(haystack,*pChar) != '\0'; haystack++)
{
if ( strncmp(haystack, pChar, len) == 0 )
{
return haystack;
}
}
return NULL;
}
阅读(3082) | 评论(0) | 转发(0) |