memcpy 函数

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:22   3749   0

memcpy 函数

memcpy

编辑本段函数原型

  void *memcpy(void *dest, const void *src, size_t n);

编辑本段功能

  从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

编辑本段所需头文件

  #include <string.h>

编辑本段返回值

  函数返回dest的值。

编辑本段说明

  1.source和destin所指内存区域不能重叠,函数返回指向destin的 指针
  2.strcpy和memcpy主要有以下3方面的区别。
  2.1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
  2.2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。
  2.3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
  3.如果目标 数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标 数组地址增加到你要追加数据的地址。
  //注意,source和destin都不一定是 数组,任意的可读写的空间均可。---wk
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP