Die Funktion memcpy in C + + kopiert die angegebene Anzahl von Bytes von Daten aus der angegebenen Quelle an das angegebene Ziel . Dies ist eine binäre Kopie so die zugrunde liegende Datentyp ist irrelevant. Die folgenden Schritte werden Ihnen helfen, verwenden Sie die Funktion memcpy . Anleitung
1
Lernen Sie die Syntax der memcpy in C + +. Die vollständige Syntax ist void * memcpy (void * Ziel , const void * Quelle , size_t num) ; . Beachten Sie, dass diese Funktion immer kopiert num Bytes und nicht für eine abschließende Zeichen zu suchen, um so effizient wie möglich . Memcpy gibt das Ziel-Array .
2
Wisse, dass die Zeiger auf die Quell-und Ziel -Arrays Typ -Druckguss sind auf eine Art von Leere. Die Größe der Ziel-und Quell -Arrays sollten mindestens num Bytes sein , um Überläufe zu vermeiden, obwohl dies nicht erforderlich ist . Memmove sollte als sicherer Ansatz, wenn die Quell-und Ziel Überlappung berücksichtigt werden.
3
Verstehen, dass die C + + -Funktion memcpy im cstring Bibliothek aufbewahrt wird. Möglicherweise müssen Sie die Header-Datei string.h gehören zu memcpy verwenden
4
Blick auf die folgende komplette Programm für einige einfache Beispiele dafür, wie memcpy verwenden: .
# Include # gehören
int main () {char Zeichenfolge1 [ ] = "test string"; char Zeichenfolge2 [80] ; memcpy ( string2 , string1 , strlen ( string1 ) +1) ; printf (" Zeichenfolge1 :% s \\ nstring2 :% s \\ n ", Zeichenfolge1, Zeichenfolge2 ); memcpy ( string1 ," ", 1); printf (" Zeichenfolge1 :% s \\ n ", Zeichenfolge1 ); return 0; }
5
Beachten Sie die folgende Ausgabe für dieses Programm :
Zeichenfolge1 : test stringstring2 : test stringstring1 :
der erste Einsatz von memcpy kopiert den Inhalt von Zeichenfolge1 auf den Inhalt Zeichenfolge2 . Der zweite Einsatz von memcpy löscht den Inhalt von string1 durch Bewegen des Nullabschlusszeichen Zeichen an die erste Position der Zeichenfolge1 .