std::wmemset
From cppreference.com
| ヘッダ <cwchar> で定義 |
||
| wchar_t* wmemset( wchar_t* dest, wchar_t ch, std::size_t count ); |
||
幅広文字配列 dest が指す先の最初の count 個の幅広文字に、幅広文字 ch をコピーします。
オーバーフローが発生した場合、動作は未定義です。
countがゼロの場合、関数は何も行いません。
目次 |
[編集] パラメータ
| dest | - | 埋める幅広文字配列へのポインタ |
| 文字 | - | 埋める幅広文字 |
| count | - | 埋める幅広文字数 |
[編集] 戻り値
destのコピーを返します。
[編集] 注記
この関数はロケールに依存せず、書き込む wchar_t オブジェクトの値には注意を払いません。ヌル文字や無効な幅広文字も書き込まれます。
[編集] 例
このコードを実行
#include <clocale> #include <cwchar> #include <iostream> #include <locale> int main() { wchar_t ar[4] = {L'1', L'2', L'3', L'4'}; std::wmemset(ar, L'\U0001f34c', 2); // replaces [12] with the 🍌 bananas std::wmemset(ar + 2, L'蕉', 2); // replaces [34] with the 蕉 bananas std::setlocale(LC_ALL, "en_US.utf8"); std::wcout.imbue(std::locale("en_US.utf8")); std::wcout << std::wstring(ar, 4) << '\n'; }
実行結果の例
🍌🍌蕉蕉
[編集] 関連項目
| バッファを文字で埋める (関数) | |
| オーバーラップしていない2つの配列間で、指定された数のワイド文字をコピーする (関数) | |
| 範囲内のN個の要素に指定された値をコピー代入する (関数テンプレート) | |
| C のドキュメント (wmemset)
| |