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()
- memcpy() no comprueba si hay desbordamiento o .
- 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()