用c实现strstr函数(子字符串查找)功能
2016-11-12 19:44
357 查看
#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))//如果目标字符串的长度小于源字符窜的长度,则肯定不会找到,这时应返回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函数(子字符串查找)功能
- 练习4实现strchr的功能,即在一个字符串中查找一个字符
- 字节序列查找bytesBytes 和 字符串查找strstr函数的实现代码
- C#实现String.IndexOf功能 查找字符串
- strchr 字符串查找(自己实现这个功能)
- 【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL
- QT4/QT5中实现查找功能时中文字符串转换问题
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- js实现查找字符串功能
- 使用Ext中的Grid,Form,Dialog来实现列表,创建,更新,删除,查找和分页功能
- ruby 操作字符串 实现关键字搜索功能
- SqlServe中分割字符串实现 类似split()功能
- 用JavaScript实现字符串切分功能
- 用VC6.0实现快捷方式中的查找目标功能
- 编C语言程序:用自定义函数实现字符串处理函数strcat、 strcpy、strcmp、strlen和strlwr的功能
- 用JavaScript实现字符串切分功能
- 文本编辑器 “查找与替换”操作的“全部替换”功能的实现代码 Visual Basic 2005 编写
- 把文件以二进制格式或base64字符串形式保存到数据库中,并实现下载功能源码
- 如何用C#在winform中实现简单的查找功能
- VB应用程序中实现“查找和替换”功能