【C++】memset和memcpy函数
写算法题时常用memset和memcpy函数
memset
作用是将一块内存区域设置为指定的值,包含在头文件<cstring>中
函数原型
void* memset(void* dest, int val, size_t count);
参数
- dest:指向要设置的内存块的指针。
- val:要设置的值(通常是一个字节值)。
- count:要设置的字节数。
实例
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
memset(str, 'A', 50); // 将前50个字节设置为 'A'
str[50] = '\0'; // 添加字符串结束符
cout << str << endl;
return 0;
}
memcpy
作用是将一块内存区域的内容复制到另一块内存区域,包含在头文件<cstring>中
函数原型
void* memcpy(void* dest, const void* src, size_t count);
参数
- dest:指向目标内存块的指针。
- src:指向源内存块的指针。
- count:要复制的字节数。
实例
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char src[] = "Hello, World!";
char dest[100];
memcpy(dest, src, strlen(src) + 1); // 复制字符串,包括结束符
cout << dest << endl;
return 0;
}