Home C&C++函数库 c++ 语法 程序源码 Linux C库

wmemchr

函数  <cwchar>

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++中提供的两个重载版本。

☣  示例



/* 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.


🍄  另请参阅



memchr 在内存块中定位字符(function )
wcsrchr 定位字符在宽字符串中最后一次出现的位置(function)
wmemcmp 比较两个宽字符块(function)
wcschr 定位字符在宽字符串中第一次出现的位置(function)

联系我们 免责声明 关于CandCplus 网站地图