5 - strstr

5 - strstr

/* **
*char *strstr(string1, string2) - search for string2 in string1
*
*Purpose:
*       finds the first occurrence of string2 in string1
*
*Entry:
*       char *string1 - string to search in
*       char *string2 - string to search for
*
*Exit:
*       returns a pointer to the first occurrence of string2 in
*       string1, or NULL if string2 does not occur in string1
*
*Uses:
*
*Exceptions:
*
******************************************************************************
*/

char   *  __cdecl 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);

}

int  _tmain( int  argc, _TCHAR *  argv[])
{
  
char *  p1  =   " abcde " ;
  
char *  p2  =   " cd " ;

  
char *  p  =  my_strstr(p1, p2);

  
return   0 ;
}

你可能感兴趣的:(5 - strstr)