##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# 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.

### [edit] Parameters

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

### [edit] Return value

Returns a copy of `dest`

### [edit] 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.

### [edit] Example

Run this code

    #include <iostream>
    #include <cwchar>
    #include <clocale>
    #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:

    🍌🍌蕉蕉

### [edit] See also

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

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/string/wide/wmemset&oldid=76732"