wmemchr
From 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 | - | 検索対象のワイド文字配列へのポインタ |
| 文字 | - | 検索するワイド文字 |
| 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 (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.29.4.5.8 The wmemchr function (p: TBD)
- C11標準 (ISO/IEC 9899:2011)
- 7.29.4.5.8 The wmemchr function (p: 438)
- C99標準 (ISO/IEC 9899:1999)
- 7.24.4.5.8 The wmemchr function (p: 384)
[編集] 関連項目
| 配列から文字が最初に出現する箇所を検索する (関数) | |
| (C95) |
ワイド文字列内でワイド文字が最初に現れる場所を見つける (関数) |
| C++ ドキュメント for wmemchr
| |