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 wmemchr 函数 (p: TBD)
- C17 标准 (ISO/IEC 9899:2018)
- 7.29.4.5.8 wmemchr 函数 (p: TBD)
- C11 标准 (ISO/IEC 9899:2011)
- 7.29.4.5.8 wmemchr 函数 (p: 438)
- C99 标准 (ISO/IEC 9899:1999)
- 7.24.4.5.8 wmemchr 函数 (p: 384)
[编辑] 另请参见
在数组中搜索字符的第一个出现位置 (函数) | |
(C95) |
在宽字符串中查找宽字符的第一个出现位置 (函数) |
C++ 文档 针对 wmemchr
|