std:: wmemset

From cppreference.com
< cpp β€Ž | string β€Ž | wide
Defined in header <cwchar>
wchar_t * wmemset ( wchar_t * dest, wchar_t ch, std:: size_t count ) ;

Copies the wide character ch into each of the first count wide characters of the wide character array pointed to by dest .

If overflow occurs, the behavior is undefined.

If count is zero, the function does nothing.

Parameters

dest - pointer to the wide character array to fill
ch - fill wide character
count - number of wide characters to fill

Return value

Returns a copy of dest .

Notes

This function is not locale-sensitive and pays no attention to the values of the wchar_t objects it writes: nulls as well as invalid wide characters are written too.

Example

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

Possible output:

πŸŒπŸŒθ•‰θ•‰

See also

fills a buffer with a character
(function)
copies a certain amount of wide characters between two non-overlapping arrays
(function)
copy-assigns the given value to N elements in a range
(function template)
C documentation for wmemset