头文件:#include <include.h>
strpbrk()函数检索两个字符串中首个相同字符的位置,其原型为:
char *strpbrk( char *s1, char *s2);
【参数说明】s1、s2要检索的两个字符串。
strpbrk()从s1的第一个字符向后检索,直到'\0',如果当前字符存在于s2中,那么返回当前字符的地址,并停止检索。
【返回值】如果s1、s2含有相同的字符,那么返回指向s1中第一个相同字符的指针,否则返回NULL。
注意:strpbrk()不会对结束符'\0'进行检索。
【函数示例】输出第一个相同字符之后的内容。
输出结果:
strpbrk()函数检索两个字符串中首个相同字符的位置,其原型为:
char *strpbrk( char *s1, char *s2);
【参数说明】s1、s2要检索的两个字符串。
strpbrk()从s1的第一个字符向后检索,直到'\0',如果当前字符存在于s2中,那么返回当前字符的地址,并停止检索。
【返回值】如果s1、s2含有相同的字符,那么返回指向s1中第一个相同字符的指针,否则返回NULL。
注意:strpbrk()不会对结束符'\0'进行检索。
【函数示例】输出第一个相同字符之后的内容。
- #include<stdio.h>
- #include<string.h>
- int main(void){
- char* s1 = "http://see.xidian.edu.cn/cpp/u/xitong/";
- char* s2 = "see";
- char* p = strpbrk(s1,s2);
- if(p){
- printf("The result is: %s\n",p);
- }else{
- printf("Sorry!\n");
- }
- return 0;
- }
The result is: see.xidian.edu.cn/cpp/u/xitong/
实例:
#include<
string.h>
#include<stdio.h>
int main()
... {
char *str1="please try again,sky2098!";
char *str2="Hello,I am sky2098,I like writing!";
char *strtemp;
strtemp=strpbrk(str1,str2); //搜索进行匹配
printf("Result is: %s ",strtemp);
return 0;
}
#include<stdio.h>
int main()
... {
char *str1="please try again,sky2098!";
char *str2="Hello,I am sky2098,I like writing!";
char *strtemp;
strtemp=strpbrk(str1,str2); //搜索进行匹配
printf("Result is: %s ",strtemp);
return 0;
}
在VC++ 6.0 编译运行:
返回了str2中字符“l”在str1中位置的指针,打印出字符串“lease try again,sky2098!”。
如果str2中所有字符都没有在str1中出现过,则返回null:
#include<
string.h>
#include<stdio.h>
int main()
... {
char *str1="aaaaaaabbbbbbbcccccccc"; //str1中的任何一个字符在str2中都找不到
char *str2="ppppkkkkmmmer";
char *strtemp;
strtemp=strpbrk(str1,str2);
printf("Result is: %s ",strtemp);
return 0;
}
#include<stdio.h>
int main()
... {
char *str1="aaaaaaabbbbbbbcccccccc"; //str1中的任何一个字符在str2中都找不到
char *str2="ppppkkkkmmmer";
char *strtemp;
strtemp=strpbrk(str1,str2);
printf("Result is: %s ",strtemp);
return 0;
}
在VC++ 6.0 编译运行:
返回了空值。