c语言| |strstr函数的源代码以及自我实现
Posted _YKitty
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言| |strstr函数的源代码以及自我实现相关的知识,希望对你有一定的参考价值。
strstr函数:strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
源函数:
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 (*s2 && !(*s1 - *s2)) s1++, s2++; if (!*s2) return(cp); cp++; return(NULL); int main(int argc, char *argv[], char *envp[]) char str[] = "asfasfas"; char *p = "asas"; char ret = '0'; ret = strstr(str, p); if (ret != NULL) printf("%c", ret); else printf("NULL"); return 0;
自己的strstr函数
//自己的strstr函数 char * __cdecl my_strstr(const char *str1, const char *str2) char *cur = (char *)str1; char *s1 = NULL; char *s2 = NULL; if (!*str2) return ((char *)str1); while (*cur) s1 = cur; s2 = (char *)str2; while (*s2 && !(*s1 - *s2)) //*s2不为空,并且*s1要与*s2相等 s1++; s2++; if (!*s2) return cur; cur++; return NULL;
如有不足:请告诉小凯,会及时更新与修改的,谢谢大家
github感兴趣可以到我的github中看一下.
以上是关于c语言| |strstr函数的源代码以及自我实现的主要内容,如果未能解决你的问题,请参考以下文章
C语言strstr()函数(在主字符串里查找子字符串,返回第一次找到的子字符串以及后面的字符串)
C 语言字符串模型 ( strstr-do…while 模型 )
C 语言字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )(代码