C++memcpy用法
时间: 2023-11-03 13:55:03 浏览: 142
在C中,memcpy函数用于在内存之间复制一定数量的字节。它接受三个参数:目标地址(dest),源地址(src)和要复制的字节数(count)。memcpy函数的定义如下:
void* memcpy(void* dest, const void* src, std::size_t count);
其中,dest是要将数据复制到的目标地址,src是要从中复制数据的源地址,count是要复制的字节数。memcpy函数将从src开始的count个字节的内容复制到dest所指向的内存位置。返回类型为void*,即指向目标地址dest的指针。
下面是使用memcpy函数的示例代码:
#include <iostream>
#include <cstring>
int main() {
const char* src = "Hello, world!";
char dest[20];
std::size_t len = std::strlen(src); // 获取src的长度
// 调用memcpy函数将src的内容复制到dest中
std::memcpy(dest, src, len);
std::cout << "Source: " << src << std::endl;
std::cout << "Destination: " << dest << std::endl;
return 0;
}
在这个示例中,我们首先声明了一个源地址src和一个目标地址dest。然后,我们使用std::strlen函数获取src的长度,并将其存储在变量len中。接下来,我们调用memcpy函数将src的内容复制到dest中。最后,我们将src和dest的内容分别输出到控制台上。
需要注意的是,调用my_memcpy函数的结果与直接调用memcpy函数是相同的,因为它们本质上是一样的。然而,封装memcpy函数可以使代码更易于维护和修改,尤其是在多次复制相同数据的情况下。
阅读全文