Defined in header <wchar.h> | ||
---|---|---|
wchar_t *wmemset( wchar_t *dest, wchar_t ch, size_t count ); | (since C95) |
Copies the wide character ch
into each of the first count
wide characters of the wide character array (or integer array of compatible type) pointed to by dest
.
If overflow occurs, the behavior is undefined.
If count
is zero, the function does nothing.
dest | - | pointer to the wide character array to fill |
ch | - | fill wide character |
count | - | number of wide characters to fill |
Returns a copy of dest
.
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.
#include <stdio.h> #include <wchar.h> #include <locale.h> int main(void) { wchar_t ar[10] = L"1234567890"; // no trailing null in the array wmemset(ar, L'\U0001f34c', 5); // replaces [12345] with the 🍌 bananas wmemset(ar+5, L'蕉', 5); // replaces [67890] with the 蕉 bananas setlocale(LC_ALL, "en_US.utf8"); for(size_t n = 0; n < sizeof ar/sizeof *ar; ++n) putwchar(ar[n]); putwchar(L'\n'); }
Output:
🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉
(C11) | fills a buffer with a character (function) |
(C95)(C11) | copies a certain amount of wide characters between two non-overlapping arrays (function) |
C++ documentation for wmemset |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/wide/wmemset