函数
<cstring>

strpbrk

const char * strpbrk ( const char * str1, const char * str2 );      char * strpbrk (       char * str1, const char * str2 );
在 str1 中定位字符
str1 中返回指向 str2 中任何字符的第一次出现的指针,如果不存在匹配项,则返回空指针。

搜索不包括任一字符串的终止空字符,但以此处为终点。

参数

str1
要被扫描的 C 字符串。
str2
包含要匹配的字符的 C 字符串。

返回值

指向 str1str2 中任何字符的第一次出现的指针,如果 str2 中的字符在终止空字符之前未在 str1 中找到,则返回空指针。
如果 str2 中的字符均未出现在 str1 中,则返回空指针。

可移植性

在 C 语言中,此函数仅声明为

char * strpbrk ( const char *, const char * );

而不是 C++ 中提供的两个重载版本。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* strpbrk example */
#include <stdio.h>
#include <string.h>

int main ()
{
  char str[] = "This is a sample string";
  char key[] = "aeiou";
  char * pch;
  printf ("Vowels in '%s': ",str);
  pch = strpbrk (str, key);
  while (pch != NULL)
  {
    printf ("%c " , *pch);
    pch = strpbrk (pch+1,key);
  }
  printf ("\n");
  return 0;
}

输出

Vowels in 'This is a sample string': i i a a e i 


另见