函数
<cwchar>

wmemchr

const wchar_t* wmemchr (const wchar_t* ptr, wchar_t wc, size_t num);      wchar_t* wmemchr (      wchar_t* ptr, wchar_t wc, size_t num);
在宽字符块中定位字符
ptr 指向的块的前 num 个宽字符中搜索首次出现的 wc,并返回指向它的指针(如果未找到,则返回空指针)。

注意,与 wcschr 不同,该函数在找到空宽字符后不会停止比较。

这是 memchr (<cstring>) 的宽字符等效版本。

参数

ptr
指向要搜索的wchar_t元素数组的指针。
wc
要定位的宽字符。
num
要比较的wchar_t类型元素的数量。
size_t 是一个无符号整数类型。

返回值

一个指向 ptr 所指向数组中首次出现的 wc 的指针。
如果未找到 wc,函数将返回一个空指针。

可移植性

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

wchar_t * wmemchr ( const wchar_t *, wchar_t, size_t );

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

示例

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

int main ()
{
  wchar_t * pwc;
  wchar_t wcs[] = L"Example wide string";
  pwc = wmemchr (wcs, L'p', wcslen(wcs));
  if (pwc!=NULL)
    wprintf (L"'p' found at position %d.\n", pwc-wcs+1);
  else
    wprintf (L"'p' not found.\n");
  return 0;
}

输出

'p' found at position 5.


另见