名前空間
変種
操作

wmemset

From cppreference.com
< c‎ | string‎ | wide
 
 
 
 
ヘッダー <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)

[編集] 関連項目

バッファを文字で埋める
(関数) [編集]
オーバーラップしていない2つの配列間で、指定された数のワイド文字をコピーする
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)