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 | - | 要檢查的寬字元數 |
[編輯] 返回值
指向寬字元位置的指標,如果找不到該字元,則為 null 指標。
[編輯] 示例
執行此程式碼
#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: 待定)
- C17 標準 (ISO/IEC 9899:2018)
- 7.29.4.5.8 wmemchr 函式 (p: 待定)
- 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
|