Пространства имён
Варианты
Действия

std::wmemset

Материал из cppreference.com
 
 
 
Широкие строки с завершающим нулём
Функции
Операции с символами
Преобразования в числовые форматы
(C++11)(C++11)
(C++11)(C++11)
Операции со строками
Операции с массивами
 
<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';
}

Возможный вывод:

🍌🍌蕉蕉

Смотрите также

заполняет буфер символом
(функция) [править]
копирует определённое количество широких символов между двумя неперекрывающимися массивами
(функция) [править]
присваивает значение определённому количеству элементов
(шаблон функции) [править]