memmove, wmemmove
Sposta un buffer a un altro.Più versioni sicure di queste funzioni sono disponibili, vedere 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
);
Parametri
dest
oggetto di destinazione.src
oggetto di origine.count
Numero di byte (memmove) o caratteri (wmemmove) per copiare.
Valore restituito
il valore di dest*.*
Note
copie count byte (memmove) o caratteri (wmemmove) da src in dest*.* Se alcune aree dell'area di origine e della sovrapposizione di destinazione, entrambe le funzioni assicurarsi che i byte di origine originale nell'area sovrapposte vengano copiati prima di essere sovrascritto.
Nota sulla sicurezza Assicurarsi che il buffer di destinazione sia la stessa dimensione o più grande del buffer di origine.Per ulteriori informazioni, vedere Evitare i sovraccarichi del buffer.
memmove e wmemmove le funzioni saranno solo deprecate se la costante _CRT_SECURE_DEPRECATE_MEMORY viene definito prima dell'istruzione di inclusione in modo che le funzioni sono deprecati, come nell'esempio riportato di seguito:
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>
or
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>
Requisiti
routine |
Intestazione di associazione |
---|---|
memmove |
<string.h> |
wmemmove |
<wchar.h> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Esempio
// 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 .NET Framework
Vedere anche
Riferimenti
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l