memmove, wmemmove

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Mueve un búfer a otra. Existen versiones más seguras de estas funciones; consulte 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 caracteres (wmemmove) para copiar.

El valor de dest .

Copias count bytes (memmove) o caracteres (wmemmove) desde src a dest . Si algunas regiones del área de origen y el destino se superponen, ambas funciones Asegúrese de que se copian los bytes de origen original en la región superpuesta antes de que se sobrescriban.

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 Avoiding Buffer Overruns(Evitar saturaciones del búfer).

Las funciones memmove y wmemmove solo quedarán desusadas si la constante _CRT_SECURE_DEPRECATE_MEMORY se define antes de la declaración de inclusión, como en el ejemplo siguiente:

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

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

The string: aabbcc  
New string: aaaabb  
The string: aabbcc  
New string: aaaabb  

System::buffer::BlockCopy

Manipulación del búfer
_memccpy
memcpy, wmemcpy
strcpy, wcscpy, _mbscpy
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l

Mostrar: