memcpy () C/C++
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;> }> |
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 ()