Funkcija memcpy () C ir C++ naudojama atminties blokui nukopijuoti iš vienos vietos į kitą. Skirtingai nuo kitų kopijavimo funkcijų, memcpy funkcija nukopijuoja nurodytą baitų skaičių iš vienos atminties vietos į kitą atminties vietą, neatsižvelgiant į saugomų duomenų tipą.
Jis deklaruojamas antraštės failą. C++ kalboje jis taip pat apibrėžiamas viduje antraštės failą.
Memcpy sintaksė
Memcpy funkcija deklaruojama taip:
void * memcpy (void * to , const void * from , size_t numBytes );>
Parametrai
- į : žymeklis į atminties vietą, kurioje bus saugomi nukopijuoti duomenys. iš : žymeklis į atminties vietą, iš kurios turi būti kopijuojami duomenys. numBytes : nukopijuotinų baitų skaičius.
Grąžinimo vertė
- Ši funkcija grąžina žymeklį į atminties vietą, kurioje kopijuojami duomenys.
Memcpy pavyzdys
Žemiau yra C programa, rodanti, kaip veikia 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;> }> |
java maišant į int
>
>Išvestis
str1 before memcpy Geeks str1 after memcpy Quiz>
Svarbūs punktai apie memcpy()
- memcpy() netikrina, ar nėra perpildymo arba .
- memcpy() sukelia neapibrėžtą elgesį, kai šaltinio ir paskirties adresai sutampa.
Pastaba : atminti () yra dar viena bibliotekos funkcija, kuri gerai tvarko sutapimą.
Susijęs straipsnis
- Parašykite savo memcpy () ir memmove ()