Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

memmove, wmemmove

Mueve un búfer a otro. Versiones más seguras de estas funciones están disponibles; vea memmove_s, wmemmove_s.

void *memmove(
   void *dest,
   const void *src,
   size_t count 
);
wchar_t *wmemmove(
   wchar_t *dest,
   const wchar_t *src,
   size_t count
);

dest

Objeto de destino.

src

objeto de origen.

count

Número de bytes (memmove) o de caracteres (wmemmove) para copiar.

el valor de dest.

Bytes de count de copias (memmove) o caracteres (wmemmove) de src a dest. Si algunas regiones de origen y de destino se superponen, ambas funciones garantizan que los bytes de origen originales en la región que se superpone se copiarán antes de ser sobrescrito.

Nota de seguridad   Asegúrese De que el búfer de destino es el mismo tamaño o mayor que el búfer de origen. Para obtener más información, vea Para evitar las saturaciones del búfer.

Las funciones de memmove y de wmemmove se aplazada de desuso sólo si _CRT_SECURE_DEPRECATE_MEMORY constante es definido antes de la instrucción include para que las funciones son aplazada de obsoletos, como en el ejemplo siguiente:

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>
or
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>

rutina

Encabezado necesario

memmove

<string.h>

wmemmove

<wchar.h>

Para obtener información adicional de compatibilidad, vea compatibilidad en la Introducción.

// crt_memcpy.c
// Illustrate overlapping copy: memmove
// always handles it correctly; memcpy may handle
// it correctly.
//

#include <memory.h>
#include <string.h>
#include <stdio.h>

char str1[7] = "aabbcc";

int main( void )
{
   printf( "The string: %s\n", str1 );
   memcpy( str1 + 2, str1, 4 );
   printf( "New string: %s\n", str1 );

   strcpy_s( str1, sizeof(str1), "aabbcc" );   // reset string

   printf( "The string: %s\n", str1 );
   memmove( str1 + 2, str1, 4 );
   printf( "New string: %s\n", str1 );
}
la cadena: aabbcc
nueva cadena: aaaabb
la cadena: aabbcc
nueva cadena: aaaabb
Mostrar: