C系列函数原型之-StrStr(char *str,char *subStr)的实现
来源:互联网 发布:班班通教学软件 源码 编辑:程序博客网 时间:2024/05/16 11:05
思路:
1、对于字符串最后一位为'\0',可以作为临界条件
2、当*str != '\0'的时候,判断*p是否等于*q,如果相等继续后移2个指针,如果最后*q的指针到达边界,说明整个匹配是成功的,直接返回res即可。否则后移主串指针。
#include <iostream>
char *Mystrstr(char *str,char *subStr){
while (*str !='\0' ) {
char *p = str;
char *q = subStr;
char *res =NULL;
if (*p == *q) {
res = p;
while (*q !='\0' && *p == *q){
p++;
q++;
}
if (*q =='\0')
return res;
}
str++;
}
returnNULL;
}
int main(int argc,constchar * argv[])
{
char *s1 ="abcdefghijklmn";
char *s2 ="bcd";
// 在字符串s1中寻找字符串2,若找到返回位置,否则返回Null
char *res =Mystrstr(s1, s2);
if (res !=NULL) {
printf("%s",res);
}else{
printf("not");
}
printf("\n");
return0;
}
结果:
- C系列函数原型之-StrStr(char *str,char *subStr)的实现
- C和指针之字符串实现my_strrchr(char *str, int ch)的函数
- C语言 为下面的函数原型编写函数定义:int ascii_to_integer(char *str)
- 宇龙酷派笔试题:求出数组的倒置,函数原型为char * reverse( char * str)
- C/C++面试之算法系列--atoi(char *str)将字符串转换成整数
- C/C++面试之算法系列--atoi(char *str)将字符串转换成整数
- CI1.2 用c或c++实现void reverse(char* str)函数,即反转一个null结尾的字符串
- C语言自己实现的 整形转换成字符串函数itoa(int Number,char* Str)
- C语言递归和非递归实现字符串反转函数char *reverse(char *str)
- 原型:char *strrchr(const char *str, char c); http://blog.csdn.net/hgj125073/article/details/8443912
- 为函数原型编写函数定义: int ascii_to_integer(char *str);
- 为函数原型写函数定义:double my_atof(char *str);
- char *strchr(char *str,char character)函数
- C char str[] , char *str 区别
- int atoi(char *str) 函数实现
- C语言实现strlen(char *str)
- char *str和char str[]的区别
- char str[] 和 char *str 的区别
- 动态生成radiobutton
- Android的SurfaceView使用
- 最长非降 nlogn 带路径标记
- 2014.09.22 Jfinal注解方式自动配置路由和数据库映射
- 【Axure教程】Axure中使用表格的技巧
- C系列函数原型之-StrStr(char *str,char *subStr)的实现
- C语言_堆和栈
- VisualStudioVS2010统计代码行数
- windows 编译ffmpeg 播放 rtmp
- 关于数字证书和数字签名的一些认识
- Python安装pandas,matplotlib
- excel导入
- 字符编码笔记:ASCII,Unicode和UTF-8
- 《Linux程序设计》——终端