string.h
Función memmove ANSI C
void *memmove(void *s1, const void *s2, size_t n);
Copia los primeros n caracteres del objeto apuntado por s2 al objeto apuntado por s1.Sin embargo, se asegura de que no estén superpuestos. Por esta razón, copia los caracteres a un array/arreglo temporalmente. Después vuelve a copiar del array temporal al objeto en cuestión.
Valor de retorno:
La función retorna el valor de s1.
Ejemplo:
#include <stdio.h> #include <string.h> int main() { char a[7] = "abcdefg"; char *ptr; int i; memmove( ptr, a, 5 ); for( i=0; i<7; i++ ) printf( "a[%d]=%c ", i, a[i] ); printf( "\n" ); for( i=0; i<5; i++ ) printf( "ptr[%d]=%c ", i, ptr[i] ); printf( "\n" ); return 0; }