wmemset
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <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 オブジェクトの値を気にしません。 ヌルも無効な文字も書き込みます。
例
Run this code
#include <stdio.h>
#include <wchar.h>
#include <locale.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');
}
出力:
🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.29.4.6.2 The wmemset function (p: 439)
- C99 standard (ISO/IEC 9899:1999):
- 7.24.4.6.2 The wmemset function (p: 385)
関連項目
(C11) |
文字でバッファを埋めます (関数) |
(C95)(C11) |
2つのオーバーラップしていない配列間でワイド文字を一定量コピーします (関数) |
wmemset の C++リファレンス
| |