wmemset
From cppreference.net
Null-terminated wide strings
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
定義先ヘッダ
<wchar.h>
|
||
|
wchar_t
*
wmemset
(
wchar_t
*
dest,
wchar_t
ch,
size_t
count
)
;
|
(C95以降) | |
ワイド文字 ch を、 dest が指すワイド文字配列(または互換性のある型の整数配列)の先頭 count 個の各ワイド文字にコピーします。
オーバーフローが発生した場合、動作は未定義です。
count がゼロの場合、この関数は何も行いません。
目次 |
パラメータ
| dest | - | ワイド文字配列を埋めるためのポインタ |
| ch | - | 埋め込み用ワイド文字 |
| count | - | 埋め込むワイド文字の数 |
戻り値
dest のコピーを返します
注記
この関数はロケールに依存せず、書き込む wchar_t オブジェクトの値に注意を払いません:ヌル文字および無効なワイド文字も同様に書き込まれます。
例
このコードを実行
#include <locale.h> #include <stdio.h> #include <wchar.h> int main(void) { wchar_t ar[10] = L"1234567890"; // 配列末尾にnull終端なし wmemset(ar, L'\U0001f34c', 5); // [12345]を🍌バナナで置換 wmemset(ar + 5, L'蕉', 5); // [67890]を蕉バナナで置換 setlocale(LC_ALL, "en_US.utf8"); for (size_t n = 0; n < sizeof ar / sizeof *ar; ++n) putwchar(ar[n]); putwchar(L'\n'); }
出力:
🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉
参考文献
- C23規格 (ISO/IEC 9899:2024):
-
- 7.29.4.6.2 wmemset関数 (p: TBD)
- C17規格 (ISO/IEC 9899:2018):
-
- 7.29.4.6.2 wmemset関数 (p: TBD)
- C11規格 (ISO/IEC 9899:2011):
-
- 7.29.4.6.2 wmemset関数 (p: 439)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.24.4.6.2 wmemset関数 (p: 385)
関連項目
|
(C23)
(C11)
|
バッファを文字で埋める
(関数) |
|
(C95)
(C11)
|
2つの重ならない配列間で指定された量のワイド文字をコピーする
(関数) |
|
C++ documentation
for
wmemset
|
|