函数
<cwchar>

wcspbrk

const wchar_t* wcspbrk (const wchar_t* wcs1, const wchar_t* wcs2);      wchar_t* wcspbrk (      wchar_t* wcs1, const wchar_t* wcs2);
在宽字符串中定位字符
返回一个指针,指向 wcs2 中的任意宽字符在 wcs1 中首次出现的位置;如果没有匹配项,则返回空指针。

搜索不包括任一宽字符串的结尾空宽字符,而是在该处结束。

这是 strpbrk (<cstring>) 的宽字符等价版本。

参数

wcs1
要被扫描的 C 宽字符串。
wcs2
包含要匹配的字符的 C 宽字符串。

返回值

一个指针,指向 wcs2 中的任意宽字符在 wcs1 中首次出现的位置;如果在遇到结尾空宽字符前,wcs1 中未找到 wcs2 中的任何字符,则返回空指针。
如果 wcs1 中不存在 wcs2 的任何字符,则返回空指针。

可移植性

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

wchar_t * wcspbrk ( const wchar_t *, const wchar_t * );

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

示例

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

int main ()
{
  wchar_t wcs[] = L"This is a sample wide string";
  wchar_t key[] = L"aeiou";
  wchar_t * pwc;
  wprintf (L"Vowels in '%ls': ",wcs);
  pwc = wcspbrk (wcs, key);
  while (pwc != NULL)
  {
    wprintf (L"%c " , *pwc);
    pwc = wcspbrk (pwc+1,key);
  }
  wprintf (L"\n");
  return 0;
}

输出

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


另见