Spec-Zone.ru › C++

std::wmemset

Определено в заголовке <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); // replaces [12] with the 🍌 bananas
    std::wmemset(ar + 2, L'蕉', 2); // replaces [34] with the 蕉 bananas

    std::setlocale(LC_ALL, "en_US.utf8");
    std::wcout.imbue(std::locale("en_US.utf8"));
    std::wcout << std::wstring(ar, 4) << '\n';
}

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

🍌🍌蕉蕉

См. также

memsetmemset_explicit
(C++26)
заполняет буфер символом
(функция)
wmemcpy
копирует заданное количество широких символов между двумя неперекрывающимися массивами
(функция)
fill_n
копирующим присваиванием записывает заданное значение в N элементов диапазона
(шаблон функции и объект-функция алгоритма)
ranges::fill_n
(C++20)
Документация по C для wmemset

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/wide/wmemset

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API