strstr 函数用法
|
1
|
extern char *strstr(char *str1, const char *str2); |
|
1
|
* strstr(str1,str2) |
|
1
2
3
|
char str[]="1234xyz";char *str1=strstr(str,"34");cout << str1 << endl; |
函数实现
|
1
2
3
4
5
6
7
8
9
10
11
12
|
char *strstr(const char *s1,const char *s2){ int len2; if(!(len2=strlen(s2)))//此种情况下s2不能指向空,否则strlen无法测出长度,这条语句错误 return(char*)s1; for(;*s1;++s1) { if(*s1==*s2 && strncmp(s1,s2,len2)==0) return(char*)s1; } return NULL;} |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
char *strstr(constchar*s1,constchar*s2){ int n; if(*s2) { while(*s1) { for(n=0;*(s1+n)==*(s2+n);n++) { if(!*(s2+n+1)) return(char*)s1; } s1++; } return NULL; } else return (char*)s1;} |
|
1
2
3
4
5
6
7
8
9
10
11
|
char *strstr(const char*s1,const char*s2){ const char*p=s1; const size_tlen=strlen(s2); for(;(p=strchr(p,*s2))!=0;p++) { if(strncmp(p,s2,len)==0) return (char*)p; } return(0);} |
应用举例
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <syslib.h>#include <string.h>main(){ char *s="GoldenGlobalView"; char *l="lob"; char *p; clrscr(); p=strstr(s,l); if(p) printf("%s",p); else printf("NotFound!"); getchar(); return0;} |
|
1
2
3
4
5
6
7
|
char *s=”string1onexxxstring2oneyyy”;char *p;p=strstr(s,”yyy”);if(p!=NULL) printf(“%s”,p);else printf("notfound\n"); |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
char *mystrstr(char*s1,char*s2){ if(*s1==0) { if(*s2) return (char*)NULL; return (char*)s1; } while(*s1) { int i=0; while(1) { if(s2[i]==0) return s1; if(s2[i]!=s1[i]) break; i++; } s1++; } return (char*)NULL;} |
strstr 函数用法的更多相关文章
- C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点
1 首先介绍几个常用到的转义符 (1) 换行符“\n”, ASCII值为10: (2) 回车符“\r”, ASCII值为13: (3) 水平制表符“\t”, ASCII值为 9 ...
- php中strstr、strrchr、substr、stristr四个函数用法区别
php中strstr.strrchr.substr.stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是s ...
- strstr函数的用法
C语言函数 编辑 包含文件:string.h 函数名: strstr 函数原型: extern char *strstr(char *str1, const char *str2); 语法: ...
- string.h文件中函数用法
下面为string.h文件中函数的详细用法: strcpy函数名:strcpy功 能: 拷贝一个字符串到另一个用 法: char *strcpy(char *destin, char *source) ...
- PHP strstr() 函数
实例 查找 "world" 在 "Hello world!" 中是否存在,如果是,返回该字符串及后面剩余部分: <?php echo strstr(&qu ...
- Oracle 中 decode 函数用法
Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译 ...
- strstr 函数的实现
strstr函数:返回主串中子字符串的位置后的所有字符. #include <stdio.h> const char *my_strstr(const char *str, const c ...
- memcpy函数用法
memcpy函数用法 .分类: VC++ VC++ mfc matlab 2011-12-01 19:17 14538人阅读 评论(0) 收藏 举报 null 原型:extern void *memc ...
- Python回调函数用法实例详解
本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...
随机推荐
- opencv3学习:reshape函数
在opencv中,reshape函数比较有意思,它既可以改变矩阵的通道数,又可以对矩阵元素进行序列化,非常有用的一个函数. 函数原型: C++: Mat Mat::reshape() const 参数 ...
- [CareerCup] 8.4 Parking Lot 停车场问题
8.4 Design a parking lot using object-oriented principles. LintCode上的原题,请参见我的另一篇博客Parking Lot 停车场问题. ...
- Metasploit_01_信息搜集技术
信息搜集技术 姓名: 谈愈敏 学号: 20135220 日期: 2016.9.7 攻击机:135220-V.BT5, msf 靶 机:135220-V.W2k3_Sploitable 一.实验过程概述 ...
- 第十章实践——系统级I/O代码运行
第十章实践——系统级I/O代码运行 实验代码清单如下: 1. cp1——复制一个文件到另一个文件中(两个已经存在的文件) 复制前: 执行后结果 2. setecho.echostate——改变.显示输 ...
- 回顾一年的IT学习历程与大学生活
今天是2015年8月27日,距离成为大三狗还有一个多星期,在这个不算繁忙的暑假的下午来总结一下这一年来,在IT方面的学习. 一.入门(2014.3) 我大一的专业是信息工程,信息工程听上去就是信息(I ...
- KMP和扩展KMP
文章网上太多这里提一下代码细节: KMP: scanf("%s\n",s); scanf("%s\n",t); int ls=strlen(s),lt=strl ...
- AngularJS开发指南6:AngularJS表单详解
表单控件(input, select, textarea )是用来获取用户输入的.表单则是一组有联系的表单控件的集合. 用户能通过表单和表单控件提供验证的服务,知道自己的输入是否合法.这样能让用户交互 ...
- git查看某个文件的修改历史及具体修改内容
有时候在比对代码时,看到某些改动,但不清楚这个改动的作者和原因,也不知道对应的BUG号,也就是说无从查到这些改动的具体原因了- [注]:某个文件的改动是有限次的,而且每次代码修改的提交都会有commi ...
- 我眼中的Android IDE
我作为一个Android小白,首先跟Android打交道的就是它的IDE(Integrated Development Environment,集成开发环境)了. 记得刚开始时是从图书馆借了本Andr ...
- Lucene -- 实时索引
lucene的实时搜索可以分成:实时和近实时的搜索. 实时只能依靠内存了. 近实时可以用lucene中提供org.apache.lucene.index.DirectoryReader.open(In ...