wmemchr
来自cppreference.com
在标头 <wchar.h> 定义
|
||
wchar_t *wmemchr( const wchar_t *ptr, wchar_t ch, size_t count ); |
(1) | (C95 起) |
/*QWchar_t*/ *wmemchr( /*Qwchar_t*/ *ptr, wchar_t ch, size_t count ); |
(2) | (C23 起) |
1) 于
ptr
所指向的宽字符数组或任何兼容类型的整数数组的首 count
个宽字符中,定位宽字符 ch
的首次出现。2) 等价于 (1) 的泛型函数。令
T
为未限定的 宽字符对象类型。
- 若
ptr
类型为 const T*,则返回类型为 const wchar_t*。 - 否则,若
ptr
类型为 T*,返回类型为 wchar_t*。 - 否则,行为未定义。
- 若
若 count
为零,则函数返回空指针。
参数
ptr | - | 指向要检验的宽字符数组的指针 |
ch | - | 要搜索的宽字符 |
count | - | 要检验的宽字符数 |
返回值
指向宽字符位置的指针,或若找不到这种字符则为空指针。
示例
运行此代码
#include <locale.h> #include <stdio.h> #include <wchar.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
引用
- C23 标准(ISO/IEC 9899:2024):
- 7.29.4.5.8 The wmemchr function (第 TBD 页)
- C17 标准(ISO/IEC 9899:2018):
- 7.29.4.5.8 The wmemchr function (第 TBD 页)
- 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) |
查找宽字符在宽字符串中的首次出现 (函数) |