Life is Good.

Enhance Tech and English
随笔 - 65, 文章 - 20, 评论 - 21, 引用 - 0
数据加载中……

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;
}

posted on 2011-06-02 22:07 Mike Song 阅读(177) 评论(0)  编辑 收藏 引用 所属分类: C字符串函数源码分析


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理