wmemset
|
Определено в заголовочном файле
<wchar.h>
|
||
|
wchar_t
*
wmemset
(
wchar_t
*
dest,
wchar_t
ch,
size_t
count
)
;
|
(начиная с C95) | |
Копирует широкий символ ch в каждую из первых count широких символов массива широких символов (или массива целых чисел совместимого типа), на который указывает dest .
Если происходит переполнение, поведение не определено.
Если count равен нулю, функция ничего не делает.
Содержание |
Параметры
| dest | - | указатель на массив широких символов для заполнения |
| ch | - | заполняющий широкий символ |
| 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 (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.29.4.6.2 Функция wmemset (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.29.4.6.2 Функция wmemset (стр: 439)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.24.4.6.2 Функция wmemset (стр: 385)
Смотрите также
|
(C23)
(C11)
|
заполняет буфер символом
(функция) |
|
(C95)
(C11)
|
копирует определённое количество широких символов между двумя неперекрывающимися массивами
(функция) |
|
C++ documentation
для
wmemset
|
|