浅谈 my_strstr()函数与my_strrstr()函数的实现
2015-03-22 11:16
525 查看
my_strstr()函数:在s1中查找整个s2第一次出现的起始位置,并返回一个指向该位置的指针,如果s2没有完整的出现在s1中,则返回NULL;(实际就是实现库中的strstr())
my_strrstr()函数:在s1中查找整个s2最后一次出现的起始位置,并返回一个指向该位置的指针,如果s2没有完整的出现在s1中,则返回NULL。(实际就是实现库中的strrstr())
my_strrstr()函数:在s1中查找整个s2最后一次出现的起始位置,并返回一个指向该位置的指针,如果s2没有完整的出现在s1中,则返回NULL。(实际就是实现库中的strrstr())
/**************************************** * File Name : my_strstr.c * Creat Data : 2015.3.22 * Author : wk *****************************************/ #include<stdio.h> #include<assert.h> char const *my_strstr(char const *str,char const *dst) { char const *p=str; char const *q=dst; assert(NULL!=str&&NULL!=dst); if(*dst=='\0') return NULL; while(*str!='\0'&&*dst!='\0') { if(*str!=*dst)//当遍历字符串是dst中有一个字符与str的不相等时 { //if(*str++!=*dst++) dst=q; //dst就重新指向自己字符串的首地址 str=++p; //str就有指向自己的下一个字符的地址 } str++; dst++; } if(*dst=='\0')//当while循环执行完后,dst指向'\0',表示找到了匹配的,此时p指向的是str中匹配dst的字符串首地址 { return p; } return NULL; } /**************************************** * File Name : my_strrstr.c * Creat Data : 2015.3.22 * Author : wk *****************************************/ //#include"my_strstr" char const *my_strrstr(char const *str,char const *dst) { char const *ret=NULL; char const *cur=my_strstr(str,dst);//先找一次,返回该位置的指针 while(NULL!=cur) { ret=cur;//存放第一次查找到的指针,防止第一次查找即是最后一次查找 cur=my_strstr(cur+1,dst);//从返回的指针指向的下一个字符开始查找 } return ret; } /**************************************** * File Name : main.c * Creat Data : 2015.3.22 * Author : wk *****************************************/ //#include"my_strstr()" int main() { char *a="abcdabbc"; printf("%s\n",my_strstr(a,"bc")); printf("%s\n",my_strrstr(a,"bc")); return 0; }
相关文章推荐
- my_strstr()函数;my_strrstr()函数的实现
- c语言中部分限制字符函数的实现strncmp,strncat,strncpy,strstr,strrstr
- C语言:模拟实现字符串中查找一个字符串my_strstr()函数
- 编程实现strstr子串函数
- 模拟实现字符串操作函数(strcpy,strstr,strcat,strcmp,strlen)与内存操作函数(memcpy,memmove)
- strstr 函数的 实现
- 创建一个函数,实现库函数strstr的功能
- C语言strstr函数实现
- 浅谈可变参数函数实现基本原理
- strstr()函数的实现
- 模拟实现strstr、strrstr
- strstr()函数c++代码实现实例及运行结果
- C库中的strstr()函数实现
- c语言实现 strstr 函数
- 实现strstr 函数
- 常用的字符处理函数实现:strstr strcpy strcat memcpy memmove
- 【LeetCode】005 Implement strStr() 函数strStr()的功能实现
- leetcode | Implement strStr() | 实现字符串查找函数
- strstr和memcmp函数的实现
- strstr()函数c++代码实现实例及运行结果