memmove, wmemmove
Verschiebt einen Puffer in einen anderen.Sicherere Versionen dieser Funktionen sind verfügbar. Weitere Informationen finden Sie unter 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
);
Parameter
dest
Zielobjekt.src
Quellobjekt.count
Anzahl von Bytes kopiert werden sollen (memmove) oder Zeichen (wmemmove).
Rückgabewert
Der Wert von dest*.*
Hinweise
Kopiert count Bytes (memmove) oder Zeichen (wmemmove) von src zu dest*.* Wenn einige Bereiche des Quellbereichs und des Ziels überschneiden, sicherzustellen, dass beide Funktionen die ursprüngliche Quelle in Bytes überlappenden Bereich kopiert werden, bevor diese überschrieben werden.
Sicherheitshinweis überprüfen, ob der Zielpuffer dieselbe Größe oder größer als Quellpuffer ist.Weitere Informationen finden Sie unter Vermeiden von Pufferüberläufen.
Die memmove und wmemmove-Funktionen werden nur, wenn die Konstante _CRT_SECURE_DEPRECATE_MEMORY vor der Inklusions Anweisung definiert wird, sodass die Funktionen überschrieben werden können, wie im nachfolgenden Beispiel veraltet:
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <string.h>
or
#define _CRT_SECURE_DEPRECATE_MEMORY
#include <wchar.h>
Anforderungen
Routine |
Erforderlicher Header |
---|---|
memmove |
<string.h> |
wmemmove |
<wchar.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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 );
}
.NET Framework-Entsprechung
Siehe auch
Referenz
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l