C语言字符串函数

C语言 strpbrk()函数用于在字符串中搜索任何指定的字符的位置。它是C语言的字符串函数之一。

注意:该函数是区分大小写的。

语法

语法如下:
char *strpbrk(char *s1, char *s2)

参数

  • s1:指定要搜索的主字符串。
  • s2:指定要搜索的子字符串。

功能

在字符串s1中搜索字符串s2中任何一个字符相匹配的第一个字符的位置,空字符NULL不包括在内,意思是子串中的字符谁先找到则算谁。

返回值

返回指向s1中第一个相匹配的字符的指针,如果没有匹配字符则返回空指针NULL。

程序示例

介绍3个例子,了解C语言 strpbrk()函数的使用方法。

例1

简单的例子

#include <stdio.h>
#include <string.h>
 
int main ()
{
   char *s1 = "hello yxjc123.com";
   char *s2 = "oe";
   char *p = strpbrk(s1,s2);
   if(p)
      printf("%s\n",p);
   else
      printf("Not Found!\n");
   return(0);
}

程序运行结果:

ello yxjc123.com

先找到字符‘e’,所以返回包括字符e后面的字符串。

例2

区分大小写的例子。

#include <stdio.h>
#include <string.h>
 
int main ()
{
   char *s1 = "This is a Simple text.";
   char *s2 = "S";
   char *p = strpbrk(s1,s2);
   if(p)
      printf("%s\n",p);
   else
      printf("Not Found!\n");
   return(0);
}

程序运行结果:

Simple text.

这里查找的字符是大写的S,所以返回包括大写的S后面的字符串。

例3

#include <stdio.h>
#include <string.h>
 
int main ()
{
   char *s1 = "This is a Simple text.";
   char *s2 = "mi";
   char *p = strpbrk(s1,s2);
   if(p)
      printf("%s\n",p);
   else
      printf("Not Found!\n");
   return(0);
}

程序运行结果:

is is a Simple text.