memcpy() i C/C++

Memcpy()-funksjonen i C og C++ brukes til å kopiere en minneblokk fra ett sted til et annet. I motsetning til andre kopifunksjoner, er memcpy funksjonen kopierer det spesifiserte antallet byte fra ett minnested til et annet minnested uavhengig av typen data som er lagret.

Det er deklarert i header-fil. I C++ er det også definert inne header-fil.

Syntaks for memcpy

Memcpy-funksjonen er erklært som:

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

Parametere

    til : En peker til minnestedet der de kopierte dataene skal lagres. fra : En peker til minnestedet hvorfra dataene skal kopieres. numBytes : Antall byte som skal kopieres.

Returverdi

  • Denne funksjonen returnerer en peker til minnestedet der data kopieres.

Eksempel på memcpy

Nedenfor er C-programmet for å vise hvordan memcpy() fungerer

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;> }>

Produksjon

str1 before memcpy Geeks str1 after memcpy Quiz 

Viktige punkter om memcpy()

  1. memcpy() sjekker ikke for overløp eller .
  2. memcpy() fører til udefinert atferd når kilde- og destinasjonsadresser overlapper hverandre.

Merk : memmove() er en annen bibliotekfunksjon som håndterer overlapping godt.

Relatert artikkel

  • Skriv din egen memcpy() og memmove()