Linguagem C: explicação detalhada do uso de memcpy ()

1. Introdução ao memcpy ()

1.1 Protótipo de função

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

1.2 Parâmetros

  • destin aponta para o array alvo usado para armazenar o conteúdo copiado, e o tipo é convertido para um ponteiro void *.
  • source- aponta para a fonte de dados a ser copiada, e o tipo é convertido em um ponteiro void *.
  • n - o número de bytes a serem copiados.

1.3 Função

Copia n bytes da posição inicial do endereço de memória apontado pela fonte fonte para a posição inicial do endereço de memória apontado pelo destino destino.

1.4 Arquivos de cabeçalho

#include <string.h>

1.5 Valor de retorno

Esta função retorna um ponteiro para o destino da área de armazenamento de destino.

2. Uso de Memcpy ()

Se o próprio destino do array alvo possui dados, após executar memcpy (), os dados originais serão sobrescritos (no máximo n). Se você deseja anexar dados, após cada execução de memcpy, você precisa aumentar o endereço da matriz de destino para o endereço onde deseja anexar os dados.
O código específico é o seguinte:

#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;
}

O resultado da corrida é o seguinte:

memcpy
memcpy
123456
12345678910

Acho que você gosta

Origin blog.csdn.net/MQ0522/article/details/110949280
Recomendado
Clasificación