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
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l