wmemset
wmemset
在头文件 | | |
---|---|---|
wchar_t * wmemset(wchar_t * dest,wchar_t ch,size_t count); | | (自C95以来) |
将宽字符复制ch
到count
宽字符数组(或兼容类型的整数数组)的第一个宽字符中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 |