您的位置:首页 > 其它

strstr

2015-12-08 20:36 323 查看
编辑
锁定

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

中文名 strstr 外文名 strstr
类型 PHP、C、C++中的库函数 返回 注释 作为ASCII码

strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。
该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。

strstr
(string,search)


[1]

string
必需。规定被搜索的字符串。
search
必需。规定所搜索的字符串。
注释:search若是数字,所搜索的将是该数字(作为ASCII码)代表的字符。
注释:该函数是二进制安全的。
注释:该函数对大小写敏感。如需进行大小写不敏感的搜索,请使用 stristr()。

<?php
echo
strstr
(
"Helloworld!"
,
"world"
);?>


world!


包含文件:string.h
函数名: strstr
函数原型:

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


*
strstr
(str1,str2)


str1: 被查找目标 string expression to search.
str2: 要查找对象 The string expression to find.
返回值:若str2是str1的子串,则返回str2在str1的首次出现的地址;如果str2不是str1的子串,则返回NULL。

char
str[]=
"1234xyz"
;

char
*str1=
strstr
(str,
"34"
);

cout <<str1 <<endl;


显示的是: 34xyz
1.Copyright 1990 Software Development Systems, Inc.

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

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

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

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

}


//功能:从字串” string1 onexxx string2 oneyyy”中寻找”yyy”
(假设xxx和yyy都是一个未知的字串)

char
*s=”string1onexxxstring2oneyyy”;

char
*p;

p=
strstr
(s,”yyy”);

if
(p!=NULL)

printf
(“%s”,p);

else

printf
(
"notfound\n"
);


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

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;

}


参考资料

1.

PHP strstr() 函数 .w3cschool.2014-02-2[引用日期2014-04-25]

非文化 , 语言术语 , 计算机语言 , 函数 , PHP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: