std::wmemset
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <cwchar>
|
||
wchar_t* wmemset( wchar_t* dest, wchar_t ch, std::size_t count ); |
||
Копирует широкий символ ch в каждый из первых count широких символов массива широких символов, на который указывает dest.
Если происходит переполнение, поведение не определено.
Если count равно нулю, функция ничего не делает.
Параметры
| dest | — | указатель на массив широких символов для заполнения |
| ch | — | широкий символ для заполнения |
| 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); // заменяет [12] на 🍌 бананы
std::wmemset(ar + 2, L'蕉', 2); // заменяет [34] на 蕉 бананы
std::setlocale(LC_ALL, "en_US.utf8");
std::wcout.imbue(std::locale("en_US.utf8"));
std::wcout << std::wstring(ar, 4) << '\n';
}
Возможный вывод:
🍌🍌蕉蕉
Смотрите также
| заполняет буфер символом (функция) | |
| копирует определённое количество широких символов между двумя неперекрывающимися массивами (функция) | |
| присваивает значение определённому количеству элементов (шаблон функции) | |
Документация C по wmemset
| |