非常教程

C参考手册

字符串 | Strings

wmemset

在头文件<wchar.h>中定义

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):
    • 7.29.4.6.2 wmemset函数(p: 439)
  • C99标准(ISO/IEC 9899:1999):
    • 7.24.4.6.2 wmemset函数(p: 385)

另请参阅

memsetmemset_s(C11)

用字符(函数)填充缓冲区

wmemcpywmemcpy_s(C95)(C11)

在两个非重叠数组之间复制一定数量的宽字符(函数)

| C ++文档wmemset |

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。