用c实现strstr函数(子字符串查找)功能
2017-09-09 19:40
134 查看
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> char *mystrstr(const char *dst_str,const char *src_str)//子字符串查找函数 { const char *dst_start = dst_str; const char *dst_end = dst_str + strlen(dst_str) - strlen(src_str);//abcdefg---查找cd const char *src_start = src_str; //只需查找到f即可,因为cd的字符串长度为2,后面剩余字符串的长度若小于2,则肯定不会找到了 char *pos = dst_start; assert(dst_str); assert(src_str); if (strlen(dst_str) < strlen(src_str))//如果目标字符串的长度小于源字符 ae26 窜的长度,则肯定不会找到,这时应返回NULL { return NULL; } while (dst_start <= dst_end) { pos = dst_start;//记录此时目标指针的位置 while ((*dst_start == *src_start) && (*src_start != '\0')) { dst_start++,src_start++; } if (*src_start == '\0')//如果条件符合,则说明找到了,这时返回这个位置 { return pos; } dst_start = pos + 1;//如果没有找到,则让目标指针指向下一个元素 src_start = src_str;//源指针指向开始位置 } return NULL; } int main() { char msg[] = "where are you from"; char str[] = "are"; printf("before : %s\n",msg); printf("find after : %s\n",mystrstr(msg,str)); system("pause"); return 0; }
相关文章推荐
- 用c实现strstr函数(子字符串查找)功能
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- C#实现String.IndexOf功能 查找字符串
- QT4/QT5中实现查找功能时中文字符串转换问题
- js实现查找字符串功能
- strchr 字符串查找(自己实现这个功能)
- 【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL
- 练习4实现strchr的功能,即在一个字符串中查找一个字符
- 字节序列查找bytesBytes 和 字符串查找strstr函数的实现代码
- Python实现统计给定字符串中重复模式最高子串功能示例
- 同学录--利用二叉树存储结构实现建立、查找、新增、修改、删除等功能
- java实现数据结构-线性表-顺序表,实现插入,查找,删除,合并功能
- C++利用容器查找重复列功能实现
- C语言通过函数实现 itoa()的功能 将整数转换成字符串 并实现进制转换
- 字符串的反转及用功能实现
- Python实现字符串与数组相互转换功能示例
- 通过程序统计字符串的大写字母个数、小写字母个数、数字个数和其它字符个数。用函数func实现功能
- 用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回
- abap 在table control(表控件) 实现查找功能
- c语言实现:在母字符串中查找子字符串出现的次数