Xi Xu's More Things

wmemchr

来自cppreference.com
< c‎ | string‎ | wide
 
 
 
空终止宽字符串
函数
字符操作
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C99)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
转换成数值格式
(C95)(C99)
(C95)(C99)
(C99)(C95)(C99)
(C99)(C99)
字符串操作
(C95)(C11)
(C95)(C11)
(C95)(C11)
(C95)(C11)
(C95)(C11)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)(C11)
数组操作
(C95)(C11)
(C95)(C11)
(C95)
wmemchr
(C95)
(C95)
 
在标头 <wchar.h> 定义
wchar_t *wmemchr( const wchar_t *ptr, wchar_t ch, size_t count );
(C95 起)

ptr 所指向的宽字符数组或任何兼容类型的整数数组的首 count 个宽字符中,定位宽字符 ch 的首次出现。

count 为零,则函数返回空指针。

参数

ptr - 指向要检验的宽字符数组的指针
ch - 要搜索的宽字符
count - 要检验的宽字符数

返回值

指向宽字符位置的指针,或若找不到这种字符则为空指针。

示例

#include <stdio.h>
#include <wchar.h>
#include <locale.h>
 
int main(void)
{
    wchar_t str[] = L"诺不轻信,故人不负我\0诺不轻许,故我不负人。";
    size_t sz = sizeof str / sizeof *str;
 
    wchar_t target = L'许';
    wchar_t* result = wmemchr(str, target, sz);
 
    if (result) {
        setlocale(LC_ALL, "en_US.utf8");
        printf("Found '%lc' at position %td\n",target, result - str);
    }
}

可能的输出:

Found '许' at position 14

引用

  • C11 标准(ISO/IEC 9899:2011):
  • 7.29.4.5.8 The wmemchr function (第 438 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.24.4.5.8 The wmemchr function (第 384 页)

参阅

在数组中搜索字符的首次出现
(函数)
(C95)
查找宽字符在宽字符串中的首次出现
(函数)