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