memcpy() en C/C++

memcpy() se usa para copiar un bloque de memoria de una ubicación a otra. Se declara en string.h

// Copies "numBytes" bytes from address "from" to address "to"
void * memcpy(void *to, const void *from, size_t numBytes);

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

C

/* A C program to demonstrate working of memcpy */
#include <stdio.h>
#include <string.h>
 
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("\nstr1 after memcpy ");
  puts(str1);
 
  return 0;
}

Producción: 

str1 before memcpy 
Geeks

str1 after memcpy 
Quiz

Notas: 
1) memcpy() no verifica el desbordamiento o \0 
2) memcpy() genera problemas cuando las direcciones de origen y destino se superponen. 

memmove() es otra función de biblioteca que maneja bien la superposición.
Escribe tu propio memcpy() y memmove().
Escribe comentarios si encuentras algo incorrecto o si deseas compartir más información sobre el tema tratado anteriormente.
 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *