memcpy

拷贝内存内容

头文件

#include <string.h>

函数原型

void *memcpy(void *dst, const void *src, size_t n)

函数说明

从src中复制n个字节到dst

返回

返回一个指向目标dst存储区的指针。

  • 如果目标数组dst本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。
  • memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度
  • strcpy相比,memcpy并不是遇到’\0’就结束,而是一定会拷贝完n个字节

范例

#include <stdio.h>
#include <string.h>

int main() {
    const char src[50] = "http://www.baidu.com";
    char dst[50];

    char *res = memcpy(dst, src, strlen(src) + 1);
    printf("dst = %s\n", dst);
    printf("res = %s\n",res);
    return 0;
}

执行

localhost:tool xqhero$ ./memcpy
dst = http://www.baidu.com
res = http://www.baidu.com
文档更新时间: 2021-03-07 21:30   作者:周国强