strstr()和strpbrk()函数的区别
1、strstr()函数
char *strstr(const char *src, const char *str);
在首地址为src的字符串中,搜索首次出现“str所指向的字符串”,但不包含“字符串结束符'\0'”。主要是用来搜索第1次出现的字符串。
#include "string.h" //strstr()需要包含string.h头文件
void Test_strstr(void)
{
char buf[5]={'1','2','3','4','\0'};
//声明char型数组buf[],并初始化
char *p;//声明char型指针变量p;
p=strstr(buf,"23");
//在buf[]中查找"字符串23",但不包含字符串结束符'\0'
//若搜索到"字符串23",则返回"字符串23"在buf[]中的地址
if(p) printf("Find \"23\" in buf[]\r\n");
p=NULL;//赋空指针
}
2、strpbrk()函数
char *strpbrk(const char *src, const char *str);
在首地址为src的字符串中,搜索首次出现“str中的字符”,但不包含“字符串结束符'\0'”。
主要是用来搜索第1次出现的字符串中的字符。
#include "string.h" //strpbrk()需要包含string.h头文件
void Test_strpbrk(void)
{
char buf[5]={'1','2','3','4','\0'};
//声明char型数组buf[],并初始化
char *p;//声明char型指针变量p;
p=strpbrk(buf,"24");
//在buf[]中查找首次出现"字符2和字符4",但不包含字符串结束符'\0'
//若搜索到"字符2或字符4",则返回"字符2或字符4"在buf[]中的地址
if(p) printf("Find '2' or '4' in buf[]\r\n");
p=NULL;//赋空指针
}
strpbrk()函数的测试结果: