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;> }> |
np výplň
>
>Výkon
str1 before memcpy Geeks str1 after memcpy Quiz>
Dôležité body o memcpy()
- memcpy() nekontroluje pretečenie alebo .
- 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()