logo

memcpy() en C/C++

La función memcpy() en C y C++ se utiliza para copiar un bloque de memoria de una ubicación a otra. A diferencia de otras funciones de copia, la memcpy La función copia el número especificado de bytes de una ubicación de memoria a la otra ubicación de memoria, independientemente del tipo de datos almacenados.

Se declara en archivo de cabecera. En C++, también se define dentro archivo de cabecera.

Sintaxis de memcpy

La función memcpy se declara como:



void * memcpy (void * to , const void * from , size_t numBytes );>

Parámetros

    a: Un puntero a la ubicación de la memoria donde se almacenarán los datos copiados. from: Un puntero a la ubicación de la memoria desde donde se copiarán los datos. numBytes: el número de bytes que se copiarán.

Valor de retorno

  • Esta función devuelve un puntero a la ubicación de la memoria donde se copian los datos.

Ejemplo de memcpy

A continuación se muestra el programa en C para mostrar el funcionamiento de memcpy()

C




// C program to demonstrate working of memcpy> #include> #include> int> main()> {> >char> str1[] =>'Geeks'>;> >char> str2[] =>'Quiz'>;> >puts>(>'str1 before memcpy '>);> >puts>(str1);> >// Copies contents of str2 to str1> >memcpy>(str1, str2,>sizeof>(str2));> >puts>(>' str1 after memcpy '>);> >puts>(str1);> >return> 0;> }>

unix crear directorio
>

>

Producción

str1 before memcpy Geeks str1 after memcpy Quiz>

Puntos importantes sobre memcpy()

  1. memcpy() no comprueba si hay desbordamiento o .
  2. memcpy() genera un comportamiento indefinido cuando las direcciones de origen y destino se superponen.

Nota : memmover() es otra función de biblioteca que maneja bien la superposición.

Artículo relacionado

  • Escribe tu propio memcpy() y memmove()