📅  最后修改于: 2023-12-03 14:39:50.138000             🧑  作者: Mango
memcpy()
是C++标准库中的一个函数,用于实现内存块的复制。它可以将指定大小的数据从源地址复制到目标地址。
void* memcpy(void* destination, const void* source, size_t num);
destination
:指向要复制到的目标内存地址的指针。source
:指向要复制的源内存地址的指针。num
:要复制的字节数。复制完成后,返回指向目标内存地址的指针。
#include <iostream>
#include <cstring>
int main() {
const char* source = "Hello, World!";
char destination[20];
memcpy(destination, source, strlen(source) + 1); // 复制字符串到目标地址
std::cout << "Copied string: " << destination << std::endl;
return 0;
}
上述示例中,我们使用了memcpy()
函数将源地址source
指向的字符串复制到了目标地址destination
。我们使用strlen(source) + 1
作为要复制的字节数,确保整个字符串被复制。在本例中,源地址是"Hello, World!"
,目标地址是一个长度为20的字符数组。
destination
和source
指针所指向的内存块不应该重叠,否则结果是未定义的。memcpy()
时,要确保目标地址有足够的空间来存储要复制的数据。strlen()
函数计算源地址的长度,并将其加1作为要复制的字节数。更多关于memcpy()
函数的信息可以查阅C++参考手册。