my_strstr()函数;my_strrstr()函数的实现
2015-03-21 11:41
357 查看
my_strstr()函数的功能是:在s1中查找整个s2第一次出现的起始位置,并返回一个指向该位置的指针,如果s2没有完整的出现在s1中,则返回NULL;
my_strrstr()函数的功能是:在s1中查找整个s2最后一次出现的起始位置,并返回一个指向该位置的指针,如果s2没有完整的出现在s1中,则返回NULL。
my_strrstr()函数的功能是:在s1中查找整个s2最后一次出现的起始位置,并返回一个指向该位置的指针,如果s2没有完整的出现在s1中,则返回NULL。
/**************************************** * File Name : my_strstr.c my_strrstr.c * Creat Data : 2015.3.21 * Author : ZY *****************************************/ #include <stdio.h> char * my_strstr(char const * s1,char const *s2) { char *p1,*p2; p1 = s1; p2 = s2; while(*s1 != '\0' && *s2 != '\0') { if(*s1++ != *s2++)//不相等时候,s1和s2自加,后移,而p1则保留在原位置 { s2 = p2;//s2重新回到头 s1 = ++p1;//从下一个字符开始搜索s2 } } if(*s2 == '\0') { return p1; } return NULL; } char *my_strrstr(char const *s1,char const *s2) { char *last = NULL;//定义一个字符串指针赋值为空 char *cur = my_strstr(s1,s2);//第一个字符串s2 while(cur != NULL) { last = cur;//存放查找到的第一个字符串s2 cur = my_strstr(cur+1,s2);//向后查找直到最后一个 } return last;//返回最后一位,如果没有找到就返回NULL } int main() { char arr[] = "12345623"; char brr[] = "23"; printf("%p\n",my_strstr(arr,brr)); printf("%p\n",my_strrstr(arr,brr)); return 0; }
相关文章推荐
- 浅谈 my_strstr()函数与my_strrstr()函数的实现
- C语言:模拟实现字符串中查找一个字符串my_strstr()函数
- c语言中部分限制字符函数的实现strncmp,strncat,strncpy,strstr,strrstr
- C系列函数原型之-StrStr(char *str,char *subStr)的实现
- C标准库函数实现之strstr(转)
- 实现strstr()函数
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- 自定义实现字符串处理函数 strlen strcmp strcpy strncpy strcat strncat strchr strstr
- strstr()函数的具体实现
- strstr和memcmp函数的实现
- strstr strlen strcpy函数实现
- strstr()函数的实现
- strstr()函数原型实现
- C 函数 strstr 的高效实现
- strcpy strcat strcmp strstr函数实现
- strchr(),strstr()函数实现
- 字符串操作函数 strstr 实现
- 编写实现strstr()函数功能的代码
- strcpy strlen memcpy strcat strcmp strstr strrev函数的实现代码
- KMP算法实现strstr()函数