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;
}