strstr函数实现

来源:互联网 发布:知其在线教育兼职 编辑:程序博客网 时间:2024/06/05 16:26

函数原型:

char * strstr ( const char * str1, const char * str2)

字符串参数必须要const类型。但是要返回的是char*类型,所有返回之前要进行类型转换。


要点:

1、参数判断

2、依次以每个字符为起点构成字符串,判断是否等于str2。

char * strstr ( const char * str1, const char * str2){    char *cp = (char *) str1;   //注意类型转换    char *s1, *s2;    if ( str1 == NULL || str2 == NULL || *str2 == '\0' )        return (char *)str1;    while (*cp){ //该算法以str2为基准在str1逐字节匹配        s1 = cp;    //重新设置起点        s2 = (char *) str2;        while (*s1 && *s2 && *s1 == *s2)            s1++, s2++;        if (*s2 == '\0') //如果s2在和s1比较中提前结束,那么说明匹配成功            return cp;        cp++;    }    return NULL;}



0 0
原创粉丝点击