Funkcija memcpy() v C in C++ se uporablja za kopiranje bloka pomnilnika z ene lokacije na drugo. Za razliko od drugih funkcij kopiranja je memcpy funkcija kopira določeno število bajtov iz ene pomnilniške lokacije na drugo pomnilniško lokacijo, ne glede na vrsto shranjenih podatkov.
Deklarirano je v naslovna datoteka. V C++ je definiran tudi znotraj naslovna datoteka.
Sintaksa memcpy
Funkcija memcpy je deklarirana kot:
void * memcpy (void * to , const void * from , size_t numBytes );>
Parametri
- do : Kazalec na pomnilniško mesto, kjer bodo shranjeni kopirani podatki. from : Kazalec na pomnilniško lokacijo, od koder naj bodo podatki kopirani. numBytes : število bajtov za kopiranje.
Povratna vrednost
- Ta funkcija vrne kazalec na pomnilniško lokacijo, kjer so podatki kopirani.
Primer memcpy
Spodaj je program C za prikaz delovanja memcpy()
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;> }> |
... v javi
>
>Izhod
str1 before memcpy Geeks str1 after memcpy Quiz>
Pomembne točke o memcpy()
- memcpy() ne preverja prelivanja ali .
- memcpy() povzroči nedefinirano vedenje, ko se izvorni in ciljni naslovi prekrivajo.
Opomba : memmove() je še ena funkcija knjižnice, ki dobro obravnava prekrivanje.
Sorodni članek
- Napišite svoj memcpy() in memmove()