名前空間
変種
操作

std::wmemset

提供: cppreference.com
< cpp‎ | string‎ | wide
ヘッダ <cwchar> で定義
wchar_t* wmemset( wchar_t* dest, wchar_t ch, std::size_t count );

ワイド文字 chdest の指すワイド文字配列の先頭 count 個のワイド文字のそれぞれにコピーします。

オーバーフローが発生する場合、動作は未定義です。

count がゼロの場合、この関数は何もしません。

目次

[編集] 引数

dest - 埋めるワイド文字配列を指すポインタ
ch - 埋めるワイド文字
count - 埋めるワイド文字数

[編集] 戻り値

dest のコピーを返します。

[編集] ノート

この関数はロケール対応でなく、書き込む wchar_t オブジェクトの値を気にしません。 ヌルも無効な文字も書き込みます。

[編集]

#include <iostream>
#include <cwchar>
#include <clocale>
#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';
}

出力例:

🍌🍌蕉蕉

[編集] 関連項目

バッファを文字で埋めます
(関数) [edit]
2つのオーバーラップしていない配列間でワイド文字を一定量コピーします
(関数) [edit]
指定された要素を指定個数の要素にコピー代入します
(関数テンプレート) [edit]