Die memmove Funktion in C + + kopiert die angegebene Anzahl von Bytes von Daten aus der angegebenen Quelle an das angegebene Ziel . Diese Funktion ist eine Bewegung genannt, weil es einen Zwischenpuffer , die Quell-und Ziel überlappen können verwendet . Dies ist eine binäre Kopie so die zugrunde liegende Datentyp ist irrelevant. Die folgenden Schritte werden Ihnen helfen, die memmove Funktion . Anleitung
1
Lernen Sie die Syntax der memmove in C + +. Die vollständige Syntax ist void * memmove (void * Ziel , const void * Quelle , size_t num) ; . Beachten Sie, dass diese Funktion nicht für eine abschließende Zeichen null schauen und nicht auf Überlauf zu überprüfen. Memmove kopiert immer num Bytes und gibt das Ziel -Array.
2
Wisse, dass die Zeiger auf die Quell-und Ziel -Arrays Typ -Druckguss sind auf eine Art von Leere.
3
Verstehen, dass die C + + memmove Funktion wird in der Bibliothek cstring gehalten . Möglicherweise müssen Sie die Header-Datei string.h gehören zu memmove
4
Blick auf die folgende komplette Programm für ein einfaches Beispiel für die Verwendung von Arrays mit überlappenden memmove : .
# include # include
int main () {char Zeichenfolge1 [] = " XXXXX memmove kann verwendet werden, um zu bewegen überlappenden Arrays. "; memmove ( +20 Zeichenfolge1 , Zeichenfolge1 +26,27 ); printf (" Zeichenfolge1 :% s \\ n ", Zeichenfolge1 ); Zeichenfolge1 [ 47] = '\\ n' ; printf (" Zeichenfolge1 :% s \\ n ", Zeichenfolge1 ); return 0; }
5
beachten Sie die nach Ausgabe für dieses Programm :
Zeichenfolge1 : memmove kann verwendet werden, um zu bewegen überlappenden arrays.rrays.string1 werden : . memmove kann verwendet werden, um zu bewegen überlappenden Arrays werden
Hinweis , dass die " rrays . " am Ende der ersten Ausgabe zeigt, dass die Kopie in einer Weise erhalten wird . Das Array muss manuell Gegensatz strcpy gekündigt werden , zum Beispiel.