函式
<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.


另見