Compartir a través de


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

Parámetros

  • dest
    Objeto de destino.

  • src
    objeto de origen.

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

Valor devuelto

el valor de dest*.*

Comentarios

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>

Requisitos

rutina

Encabezado necesario

memmove

<string.h>

wmemmove

<wchar.h>

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

Ejemplo

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

Equivalente en .NET Framework

System:: búfer:: BlockCopy

Vea también

Referencia

Manipulación de búfer

_memccpy

memcpy, wmemcpy

strcpy, wcscpy, _mbscpy

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l