logo

memcpy() v C/C++

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()

  1. memcpy() ne preverja prelivanja ali .
  2. 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()