Partager via


memmove, wmemmove

Déplace une mémoire tampon à un autre.plus les versions sécurisées de ces fonctions sont disponibles ; consultez 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
);

Paramètres

  • dest
    objet de destination.

  • src
    objet source.

  • count
    Nombre d'octets (memmove) ou de caractères (wmemmove) à copier.

Valeur de retour

la valeur d' dest*.*

Notes

Octets d' count de copies (memmove) ou caractères (wmemmove) d' src à dest*.* Si certaines zones de la zone de source et de chevauchement de destination, les deux fonctions garantir que les octets de source d'origine dans la zone sont copiés avant d'être remplacé.

Remarque sur la sécurité assurez -vous que la mémoire tampon de destination est la même taille ou supérieure à la mémoire tampon source.Pour plus d'informations, consultez Solutions contre les dépassements de mémoire tampon.

Les fonctions d' memmove et d' wmemmove ne sont déconseillées si _CRT_SECURE_DEPRECATE_MEMORY constant est défini avant l'instruction d'inclusion afin que les fonctions sont déconseillées, comme dans l'exemple ci-dessous :

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

Configuration requise

routine

en-tête requis

memmove

<string.h>

wmemmove

<wchar.h>

Pour des informations de compatibilité supplémentaires, consultez compatibilité dans l'introduction.

Exemple

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

Équivalent .NET Framework

System : : mémoire tampon : : BlockCopy

Voir aussi

Référence

Manipulation de mémoire tampon

_memccpy

memcpy, wmemcpy

strcpy, wcscpy, _mbscpy

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l