wmemset
From cppreference.com
| ヘッダー <wchar.h> で定義 |
||
| wchar_t* wmemset( wchar_t* dest, wchar_t ch, size_t count ); |
(C95 以降) | |
destによって指し示されるワイド文字配列(または互換性のある型の整数配列)の最初のcount個のワイド文字それぞれに、ワイド文字chをコピーします。
オーバーフローが発生した場合、動作は未定義です。
countがゼロの場合、関数は何も行いません。
目次 |
[編集] パラメータ
| dest | - | 埋めるワイド文字配列へのポインタ |
| 文字 | - | 埋めるワイド文字 |
| count | - | 埋めるワイド文字数 |
[編集] 戻り値
destのコピーを返します。
[編集] 注記
この関数はロケールに依存せず、書き込むwchar_tオブジェクトの値には注意を払いません。ヌル文字も無効なワイド文字も書き込まれます。
[編集] 例
このコードを実行
#include <locale.h> #include <stdio.h> #include <wchar.h> int main(void) { wchar_t ar[10] = L"1234567890"; // no trailing null in the array wmemset(ar, L'\U0001f34c', 5); // replaces [12345] with the 🍌 bananas wmemset(ar + 5, L'蕉', 5); // replaces [67890] with the 蕉 bananas 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++ドキュメント for wmemset
| |