Lenguaje C: explicación detallada del uso de memcpy ()

1. Introducción a memcpy ()

1.1 Prototipo de función

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

1.2 Parámetros

  • destin- apunta a la matriz de destino utilizada para almacenar el contenido copiado, y el tipo se convierte en un puntero void *.
  • source: apunta a la fuente de datos que se va a copiar y el tipo se convierte en un puntero void *.
  • n: el número de bytes que se copiarán.

1.3 Función

Copie n bytes desde la posición inicial de la dirección de memoria apuntada por la fuente fuente hasta la posición inicial de la dirección de memoria apuntada por el destino objetivo.

1.4 Archivos de encabezado

#include <string.h>

1.5 Valor de retorno

Esta función devuelve un puntero al destino del área de almacenamiento de destino.

2. Uso de Memcpy ()

Si la matriz de destino destin en sí misma tiene datos, después de ejecutar memcpy (), los datos originales se sobrescribirán (como máximo n). Si desea agregar datos, después de cada ejecución de memcpy, debe aumentar la dirección de la matriz de destino a la dirección donde desea agregar los datos.
El código específico es el siguiente:

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

El resultado de ejecución es el siguiente:

memcpy
memcpy
123456
12345678910

Supongo que te gusta

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