1. 程式人生 > 其它 >C語言:memcpy() 用法詳解

C語言:memcpy() 用法詳解

技術標籤:C語言c語言

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