C语言:memcpy() 用法详解

1、memcpy() 简介

1.1 函数原型

void *memcpy(void *destin, void *source, unsigned n);

1.2 参数

  • destin– 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
  • source– 指向要复制的数据源,类型强制转换为 void* 指针。
  • n– 要被复制的字节数。

1.3 功能

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

1.4 头文件

#include<string.h>

1.5 返回值

该函数返回一个指向目标存储区destin的指针。

2、memcpy() 用法

如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。
具体代码如下:

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

int main(void)
{
    
    
	char data[7]="memcpy";
	printf("%s\n",data);
	
	char cdata[20]={
    
    0};	
	memcpy(cdata,data,6);
 	printf("%s\n",cdata);
	memcpy(cdata,"123456",6); 
	printf("%s\n",cdata);
	memcpy(&cdata[6],"78910",6); //追加数据
 	printf("%s\n",cdata);
 	
	return 0;
}

运行结如下:

memcpy
memcpy
123456
12345678910

猜你喜欢

转载自blog.csdn.net/MQ0522/article/details/110949280