Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Sposta un buffer in un altro. Sono disponibili versioni più sicure di queste funzioni; vedere memmove_s, wmemmove_s.
Sintassi
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) da copiare.
Valore restituito
Valore di dest.
Osservazioni:
Copia count byte () o caratteri (wmemmovememmove) da src a dest. Se alcune parti dell'origine e delle aree di destinazione si sovrappongono, entrambe le funzioni assicurano che i byte di origine originali nell'area sovrapposta vengano copiati prima di essere sovrascritti.
Nota sulla sicurezza Assicurarsi che il buffer di destinazione sia sufficientemente grande da contenere il numero di caratteri spostati. Per altre informazioni, vedere Evitare sovraccarichi del buffer.
Le memmove funzioni e wmemmove sono deprecate solo se la costante _CRT_SECURE_DEPRECATE_MEMORY viene definita prima dell'istruzione #include , come illustrato nell'esempio seguente:
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>
or
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>
Requisiti
| Ciclo | Intestazione obbligatoria |
|---|---|
memmove |
<string.h> |
wmemmove |
<wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
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 );
}
The string: aabbcc
New string: aaaabb
The string: aabbcc
New string: aaaabb
Vedi anche
Manipolazione del buffer
_memccpy
memcpy, wmemcpy
strcpy, wcscpy, _mbscpy
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy_mbsncpy_l