Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přesune jednu vyrovnávací paměť do druhé. K dispozici jsou bezpečnější verze těchto funkcí; viz 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
);
Parametry
dest
Cílový objekt.
src
Zdrojový objekt.
count
Počet bajtů (memmove) nebo znaků (wmemmove) ke zkopírování
Vrácená hodnota
Hodnota .dest
Poznámky
Zkopíruje count bajty (memmove) nebo znaky (wmemmove) od src do dest. Pokud se některé části zdrojové a cílové oblasti překrývají, obě funkce zajistí, aby se před přepsáním zkopírovaly původní zdrojové bajty v překrývající se oblasti.
Poznámka zabezpečení: Ujistěte se, že je cílová vyrovnávací paměť dostatečně velká, aby vyhovovala počtu přesunutých znaků. Další informace najdete v tématu Zabránění přetečení vyrovnávací paměti.
Funkce memmove jsou wmemmove zastaralé, pouze pokud je konstanta _CRT_SECURE_DEPRECATE_MEMORY definovaná před #include příkazem, jak je znázorněno v následujícím příkladu:
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>
nebo
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>
Požadavky
| Rutina | Požadovaný hlavičkový soubor |
|---|---|
memmove |
<string.h> |
wmemmove |
<wchar.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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
Viz také
Manipulace s vyrovnávací pamětí
_memccpy
memcpy, wmemcpy
strcpy, , wcscpy_mbscpy
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, , _mbsncpy_mbsncpy_l