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

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';
}

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

🍌🍌蕉蕉

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

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