|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <wchar.h> | ||
wchar_t* wmemset(wchar_t* dest,wchar_t ch,size_t count); | (since C95) | |
Copies the wide characterch into each of the firstcount wide characters of the wide character array (or integer array of compatible type) pointed to bydest.
If overflow occurs, the behavior is undefined.
Ifcount is zero, the function does nothing.
Contents |
| dest | - | pointer to the wide character array to fill |
| ch | - | fill wide character |
| count | - | number of wide characters to fill |
Returns a copy ofdest
This function is not locale-sensitive and pays no attention to the values of thewchar_t objects it writes: nulls as well as invalid wide characters are written too.
#include <locale.h>#include <stdio.h>#include <wchar.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:
🍌🍌🍌🍌🍌蕉蕉蕉蕉蕉
(C23)(C11) | fills a buffer with a character (function)[edit] |
(C95)(C11) | copies a certain amount of wide characters between two non-overlapping arrays (function)[edit] |
C++ documentation forwmemset | |