memmove, wmemmove

Déplace une mémoire tampon vers une autre. Des versions plus sécurisées de ces fonctions sont disponibles. Consultez memmove_s, wmemmove_s.

Syntaxe

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 retournée

la valeur de la propriété dest ;

Notes

Copie count octets (memmove) ou caractères (wmemmove) de src vers dest. Si certaines parties des régions source et de destination se chevauchent, les deux fonctions garantissent que les octets sources d’origine dans la région de chevauchement sont copiés avant d’être remplacés.

Remarque relative à la sécurité Veillez à ce que la mémoire tampon de destination soit suffisamment grande pour prendre en charge le nombre de caractères déplacés. Pour plus d’informations, consultez Solutions contre les dépassements de mémoire tampon.

Les fonctions memmove et wmemmove sont déconseillées uniquement si la constante _CRT_SECURE_DEPRECATE_MEMORY est définie avant l’instruction #include, comme illustré dans l’exemple suivant :

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>

or

#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>

Spécifications

Routine En-tête requis
memmove <string.h>
wmemmove <wchar.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

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 );
}
The string: aabbcc
New string: aaaabb
The string: aabbcc
New string: aaaabb

Voir aussi

Manipulation de la mémoire tampon
_memccpy
memcpy, wmemcpy
strcpy, wcscpy, _mbscpy
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l