wmemchr
From cppreference.net
|
定義先ヘッダ
<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++ documentation
for
wmemchr
|
|