Funktionen memcpy() i C och C++ används för att kopiera ett minnesblock från en plats till en annan. Till skillnad från andra kopieringsfunktioner memcpy funktionen kopierar det angivna antalet byte från en minnesplats till den andra minnesplatsen oavsett vilken typ av data som lagras.
Det deklareras i header-fil. I C++ är det också definierat inuti header-fil.
Syntax för memcpy
Memcpy-funktionen deklareras som:
void * memcpy (void * to , const void * from , size_t numBytes );>
Parametrar
- till : En pekare till minnesplatsen där den kopierade datan kommer att lagras. from : En pekare till minnesplatsen varifrån data ska kopieras. numBytes : Antalet byte som ska kopieras.
Returvärde
- Denna funktion returnerar en pekare till minnesplatsen där data kopieras.
Exempel på memcpy
Nedan är C-programmet för att visa hur memcpy() fungerar
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;> }> |
aritmetisk logisk enhet
>
>Produktion
str1 before memcpy Geeks str1 after memcpy Quiz>
Viktiga punkter om memcpy()
- memcpy() söker inte efter spill eller .
- memcpy() leder till odefinierat beteende när käll- och destinationsadresser överlappar varandra.
Notera : memmove() är en annan biblioteksfunktion som hanterar överlappning bra.
Relaterad artikel
- Skriv din egen memcpy() och memmove()