C言語:memcpy()の使用法の詳細な説明

1. memcpy()の概要

1.1関数プロトタイプ

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

1.2パラメータ

  • destinは、コピーされたコンテンツを格納するために使用されるターゲット配列を指し、型はvoid *ポインターにキャストされます。
  • ソースデータソースへのポイント超をコピーすると、型がvoid *型のポインタにキャストされます。
  • n-コピーされるバイト数。

1.3機能

ソースソースが指すメモリアドレスの開始位置からターゲットデスティンが指すメモリアドレスの開始位置にnバイトをコピーします。

1.4ヘッダーファイル

#include <string.h>

1.5戻り値

この関数は、ターゲットストレージ領域の宛先へのポインタを返します。

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