memcpy() v C/C++

Funkcia memcpy() v C a C++ sa používa na kopírovanie bloku pamäte z jedného miesta na druhé. Na rozdiel od iných funkcií kopírovania, memcpy funkcia skopíruje určený počet bajtov z jedného pamäťového miesta do druhého pamäťového miesta bez ohľadu na typ uložených údajov.

Vyhlasuje sa v hlavičkový súbor. V C++ je definovaný aj vo vnútri hlavičkový súbor.

Syntax memcpy

Funkcia memcpy je deklarovaná ako:

void * memcpy (void * to , const void * from , size_t numBytes ); 

Parametre

    to : Ukazovateľ na pamäťové miesto, kde budú uložené skopírované dáta. from : Ukazovateľ na miesto v pamäti, odkiaľ sa majú dáta skopírovať. numBytes : Počet bajtov, ktoré sa majú skopírovať.

Návratová hodnota

  • Táto funkcia vráti ukazovateľ na miesto v pamäti, kde sa údaje skopírujú.

Príklad memcpy

Nižšie je uvedený program C, ktorý ukazuje fungovanie 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ýkon

str1 before memcpy Geeks str1 after memcpy Quiz 

Dôležité body o memcpy()

  1. memcpy() nekontroluje pretečenie alebo .
  2. memcpy() vedie k nedefinovanému správaniu, keď sa zdrojová a cieľová adresa prekrývajú.

Poznámka : memmove() je ďalšia knižničná funkcia, ktorá dobre zvláda prekrývanie.

Súvisiaci článok

  • Napíšte si vlastné memcpy() a memmove()