C

wmemset

wmemset

在头文件中定义
wchar_t * wmemset(wchar_t * dest,wchar_t ch,size_t count);(自C95以来)

将宽字符复制chcount宽字符数组(或兼容类型的整数数组)的第一个宽字符中dest

如果发生溢出,则行为未定义。

如果count为零,则该功能不执行任何操作。

参数

dest-指向宽字符数组来填充
ch-填写宽字符
count-要填写的宽字符数

返回值

返回的副本dest

注意

这个函数不是区域敏感的,并且不会注意wchar_t它写入的对象的值:也写入空值以及无效宽字符。

示例

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

输出:

?????蕉蕉蕉蕉蕉

参考

  • C11标准(ISO/IEC 9899:2011):

另请参阅

memsetmemset_s(C11)用字符(函数)填充缓冲区
wmemcpywmemcpy_s(C95)(C11)在两个非重叠数组之间复制一定数量的宽字符(函数)

| C ++文档wmemset |