strstr函数php,strstr 函数用法[通俗易懂]

strstr函数php,strstr 函数用法[通俗易懂]strstrstrstr(str1,str2)函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。C语言函数函数名:strstr函数原型:1externchar*strstr(char*str1,constchar*str2);语法:1*strstr(str1,str2)str1:被查找目标 stringex…

大家好,又见面了,我是你们的朋友全栈君。

strstr

strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

C语言函数

函数名: strstr

函数原型:

1

extern char *strstr(char *str1,const char *str2);

语法:

1

*strstr(str1,str2)

str1: 被查找目标 string expression to search.

str2: 要查找对象 The string expression to find.

返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。

例子:

1

2

3

char str[]=”1234xyz”;

char *str1=strstr(str,”34″);

cout <

显示的是: 34xyz

函数实现

1.Copyright 1990 Software Development Systems, Inc.

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;

}

2.Copyright 1986 – 1999 IAR Systems. All rights reserved

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;

}

3. GCC-4.8.0

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);

}

应用举例

// strstr.c

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#include 

#include 

main()

{

char *s=”GoldenGlobalView”;

char *l=”lob”;

char *p;

clrscr();

p=strstr(s,l);

if(p)

printf(“%s”,p);

else

printf(“NotFound!”);

getchar();

return0;

}

//功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy”

(假设xxx和yyy都是一个未知的字串)

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”);

说明:如果直接写语句p=strstr(s,”one”),找到的是onexxxstring2oneyyy

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;

}

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&period;h文件中函数用法

下面为string.h文件中函数的详细用法: strcpy函数名:strcpy功 能: 拷贝一个字符串到另一个用 法: char *strcpy(char *destin, char *source) …

PHP strstr&lpar;&rpar; 函数

实例 查找 “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 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回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 …

随机推荐

调用约定&lowbar;&lowbar;cdecl和&lowbar;&lowbar;stdcall

首先,__cdecl,c declaration,C风格声明.或者 c default calling(笔者瞎编的).(那么问题来了,为什么PASCAL风格被称为std?) 调用约定的内容包括三点:参 …

php中Closure&colon;&colon;bind用法&lpar;手册记录&rpar;

手册中 Closure::bind — 复制一个闭包,绑定指定的$this对象和类作用域. 具体参数可以看手册,这里记录下这个方法的实际用处. <?php trait MetaTrait { p …

修改linux系统时间的方法&lpar;date命令&rpar;

修改linux系统时间的方法(date命令) 来源:互联网 作者:佚名 时间:11-18 23:22:27 [大 中 小] date命令不仅可以显示系统当前时间,还可以用它来修改系统时间,下面简单的介 …

29、Oralce(五)

1)掌握PLSQL程序设计 2)掌握存储过程,函数和触发器 3)了解一些oralceSQL语句优化方案 ———————————————— …

bundle update&colon; env&colon; ruby&lowbar;executable&lowbar;hooks&colon; No such file or directory

please open a bug here: https://github.com/mpapis/executable-hooks/issues as a temporary fix try: rv …

FragmentTransactionExtended

https://github.com/DesarrolloAntonio/FragmentTransactionExtended

SpringMVC 实现文件的上传与下载

一  配置SpringMVC ,并导入与文件上传下载有关的jar包(在此不再赘述) 二 新建 相应 jsp 和controller FileUpAndDown.jsp

【Android Studio安装部署系列】十五、Android studio添加Assets目录

版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio新建项目时是没有assets目录,需要自己手动创建. app右键——New——Folder——Asset …

淘淘商城之spring web mvc架构

一.什么是springmvc springmvc是spring框架的一个模块,springmvc和spring无需通过中间整合层进行整合: springmvc是一个基于mvc的web框架   二.mv …

pthreads v3下一些坑和需要注意的地方

一.子线程无法访问父线程的全局变量,但父线程可以访问子线程的变量 <?php class Task extends Thread { public $data; public function …

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152979.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 配置静态路由,动态路由,默认路由模式_默认路由为网络和掩码

    配置静态路由,动态路由,默认路由模式_默认路由为网络和掩码一、什么是路由路由(routing)是指分组从源到目的地时,决定端到端路径的网络范围的进程[1]。路由工作在OSI参考模型第三层——网络层的数据包转发设备。路由器通过转发数据包来实现网络互连。虽然路由器可以支持多种协议(如TCP/IP、IPX/SPX、AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议。路由器通常连接两个或多个由IP子网或点到点协议标识的…

    2022年9月16日
  • 程序员必备:变量命名神器 CODELF

    程序员必备:变量命名神器 CODELF大部分开发者都或多或少遇到过变量命名的烦恼,如果命名不规范,不仅会影响开发的效率,而且对后面维护的同学来说也是一个不小的挑战。那么接下来就给大家介绍个命名神器

    2022年5月4日
  • 页面置换算法实验报告c语言(大一c语言课程设计计算器)

    在进程运行过程中,如果它需要访问的页面不在内存,需要把它调入内存,但是内存已满时,需要把内存中的某页数据送到磁盘的对换区中。而选择哪个页面,则由固定的算法来决定,称为页面置换算法

    2022年4月18日
  • 京东静态网页设计案例(1)

    京东静态网页设计案例(1)一、准备步骤以京东网页为设计案例,使用HTML和CSS进行设计,首先要在头部&lt;head&gt;文件中加入&lt;link&gt;对CSS文件里加入的两个CSS代码文件进行链接,一个是设置格式的代码,另一个是下载的图标库代码。示例代码如下:&lt;linkrel="stylesheet"href="./css/index.css"/&gt;&lt;linkrel="s…

    2022年9月5日
  • Qt —— QWebEngineView加载谷歌离线地图(包含离线地图瓦片下载制作)

    Qt —— QWebEngineView加载谷歌离线地图(包含离线地图瓦片下载制作) 关注微信公众号搜索”Qt_io_”或”Qt开发者中心”了解更多关于Qt、C++开发知识.。笔者-jxd

    2022年9月20日
  • echarts数据可视化如何实现_数据可视化页面

    echarts数据可视化如何实现_数据可视化页面ECharts实现数据可视化入门教程(超详细)ECharts介绍ECharts入门教程第一步:下载并引入scharts.js文件第二步:编写代码目录结构编写index.html代码效果展示ECharts的基础配置主要配置(常用的)案例讲解ECharts介绍官网链接:ApacheEChartsECharts是一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢

    2022年10月12日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号