📜  C++ memcpy()(1)

📅  最后修改于: 2023-12-03 14:39:50.138000             🧑  作者: Mango

C++ memcpy() 函数介绍

简介

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的字符数组。

注意事项
  • destinationsource指针所指向的内存块不应该重叠,否则结果是未定义的。
  • 使用memcpy()时,要确保目标地址有足够的空间来存储要复制的数据。
  • 对于复制字符串,可以使用strlen()函数计算源地址的长度,并将其加1作为要复制的字节数。

更多关于memcpy()函数的信息可以查阅C++参考手册