跳到主要内容

C++ memset() 内存设置函数

memset() 函数原型

void* memset(void* dest, int ch, size_t count);

memset() 函数接受三个参数:destchcount。首先将由 ch 表示的字符转换为无符号字符,然后将其复制到由 dest 指向的对象的前 count 个字符中。

如果出现以下情况,函数的行为是未定义的:

  • 对象不是平凡可复制的。
  • count 大于 dest 的大小。

它定义在 <cstring> 头文件中。

memset() 参数

  • dest:指向要复制字符的对象的指针。
  • ch:要复制的字符。
  • count:复制的次数。

memset() 返回值

memset() 函数返回 dest,即指向目标字符串的指针。

示例:memset() 函数的工作原理

#include <cstring>
#include <iostream>

using namespace std;

int main()
{
char dest[50];
char ch = 'a';
memset(dest, ch, 20);

cout << "调用 memset 后" << endl;
cout << "dest 包含 " << dest;
return 0;
}

当你运行程序时,输出将会是:

调用 memset 后
dest 包含 aaaaaaaaaaaaaaaaaaaa