logo

memcpy() v C/C++

Funkce memcpy() v C a C++ se používá ke zkopírování bloku paměti z jednoho místa na druhé. Na rozdíl od jiných funkcí kopírování, memcpy funkce zkopíruje zadaný počet bajtů z jednoho paměťového místa do druhého paměťového místa bez ohledu na typ uložených dat.

Je vyhlášeno v hlavičkový soubor. V C++ je také definován uvnitř hlavičkový soubor.



Syntaxe memcpy

Funkce memcpy je deklarována jako:

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

Parametry

    to : Ukazatel na paměťové místo, kam budou uložena zkopírovaná data. from : Ukazatel na paměťové místo, odkud mají být data zkopírována. numBytes : Počet bajtů, které mají být zkopírovány.

Návratová hodnota

  • Tato funkce vrací ukazatel na paměťové místo, kam jsou data zkopírována.

Příklad memcpy

Níže je uveden program C, který ukazuje fungování 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;> }>

jádro java
>

>

Výstup

str1 before memcpy Geeks str1 after memcpy Quiz>

Důležité body o memcpy()

  1. memcpy() nekontroluje přetečení nebo .
  2. memcpy() vede k nedefinovanému chování, když se zdrojová a cílová adresa překrývají.

Poznámka : memmove() je další knihovní funkce, která dobře zvládá překrývání.

Související článek

  • Napište si vlastní memcpy() a memmove()