Die Funktion memcpy() in C und C++ wird verwendet, um einen Speicherblock von einem Ort an einen anderen zu kopieren. Im Gegensatz zu anderen Kopierfunktionen ist die memcpy Die Funktion kopiert die angegebene Anzahl von Bytes von einem Speicherort zum anderen Speicherort, unabhängig von der Art der gespeicherten Daten.
Es ist in deklariert Header-Datei. In C++ ist es auch im Inneren definiert Header-Datei.
Syntax von memcpy
Die memcpy-Funktion wird wie folgt deklariert:
void * memcpy (void * to , const void * from , size_t numBytes );>
Parameter
- to: Ein Zeiger auf den Speicherort, an dem die kopierten Daten gespeichert werden. from: Ein Zeiger auf den Speicherort, von dem die Daten kopiert werden sollen. numBytes: Die Anzahl der zu kopierenden Bytes.
Rückgabewert
- Diese Funktion gibt einen Zeiger auf den Speicherort zurück, an den Daten kopiert werden.
Beispiel für memcpy
Unten ist das C-Programm, um die Funktionsweise von memcpy() zu zeigen
C
// C program to demonstrate working of memcpy> #include> #include> int> main()> {> >char> str1[] =>'Geeks'>;> >char> str2[] =>'Quiz'>;> >puts>(>'str1 before memcpy '>);> >puts>(str1);> >// Copies contents of str2 to str1> >memcpy>(str1, str2,>sizeof>(str2));> >puts>(>'
str1 after memcpy '>);> >puts>(str1);> >return> 0;> }> |
Stadt in den Vereinigten Staaten
>
>Ausgabe
str1 before memcpy Geeks str1 after memcpy Quiz>
Wichtige Punkte zu memcpy()
- memcpy() prüft nicht auf Überlauf oder .
- memcpy() führt zu undefiniertem Verhalten, wenn sich Quell- und Zieladressen überschneiden.
Notiz : memmove() ist eine weitere Bibliotheksfunktion, die Überlappungen gut handhabt.
Verwandter Artikel
- Schreiben Sie Ihr eigenes memcpy() und memmove()