C语言strpbrk()函数:返回两个字符串中首个相同字符的位置
2017-05-09 10:36
381 查看
头文件:#include <include.h>
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;
}
在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;
}
在VC++ 6.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;
}
在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;
}
在VC++ 6.0 编译运行:
返回了空值。
相关文章推荐
- 写一个函数,实现两个字符串的比较。即实现strcmp函数,s1=s2时返回0,s1!=s2时返回二者第一个不同字符的ASCII值。
- C语言rindex()函数:查找字符串并返回最后一次出现的位置
- 【c语言】编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
- C语言 ,两个字符串参数,判断是否包含另一个字符串,返回所在位置
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 【c语言】模拟实现strchr函数,功能:在一个字符串中查找一个字符第一次出现的位置,如果没有出现返回NULL
- 练习 2-5 编写函数 any(s1, s2),将字符串 s2 中的任一字符在字符串 s1 中第一次 出现的位置作为结果返回。如果 s1 中不包含 s2 中的字符,则返回-1。
- 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。
- 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。 如: s1集合{“while”,”for”,”switch”,”if”,”continue”
- 练习2-5 编写函数any(s1,s2),将字符串s2中的任一字符在字符串s1中第一次出现的位置作为结果返回。如果s1中不包含s2的字符,则返回-1。
- C语言 编写字符串操作函数strrchr,在字符串中查找目标字符最后一次出现的位置,返回指向这次位置的指针。
- C语言strchr()函数:查找某字符在字符串中首次出现的位置
- C语言的两个小函数: 格式化当前时间和返回字符串中两个子字符串间的内容
- C语言index()函数:查找字符串并返回首次出现的位置
- 【C语言】模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回
- 【C语言】自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置
- C语言——字符串查找字符的两个函数
- BAT返回字符在字符串中的首个位置及最后一个位置
- 合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。