wmemchr
来自cppreference.com
| 在标头 <wchar.h> 定义
|
||
| |
(1) | (C95 起) |
| |
(2) | (C23 起) |
1) 于
ptr 所指向的宽字符数组或任何兼容类型的整数数组的首 count 个宽字符中,定位宽字符 ch 的首次出现。2) 等价于 (1) 的泛型函数。令
T 为未限定的 宽字符对象类型。
- 若
ptr类型为const T*,则返回类型为const wchar_t*。 - 否则,若
ptr类型为T*,返回类型为wchar_t*。 - 否则,行为未定义。
- 若
(wmemchr) 或使用了函数指针时),则实际函数声明 (1) 即变得可见。若 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) |
查找宽字符在宽字符串中的首次出现 (函数) |
wmemchr 的 C++ 文档
| |