memcpy() i C/C++

Funktionen memcpy() i C og C++ bruges til at kopiere en hukommelsesblok fra en placering til en anden. I modsætning til andre kopifunktioner er memcpy funktionen kopierer det angivne antal bytes fra den ene hukommelsesplacering til den anden hukommelsesplacering uanset typen af ​​lagrede data.

Det er deklareret i header-fil. I C++ er det også defineret inde header-fil.

Syntaks for memcpy

Memcpy-funktionen er erklæret som:

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

Parametre

    til : En pegepind til den hukommelsesplacering, hvor de kopierede data vil blive gemt. fra : En pegepind til den hukommelsesplacering, hvorfra dataene skal kopieres. numBytes : Antallet af bytes, der skal kopieres.

Returværdi

  • Denne funktion returnerer en markør til den hukommelsesplacering, hvor data kopieres.

Eksempel på memcpy

Nedenfor er C-programmet til at vise, hvordan memcpy() virker

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

Produktion

str1 before memcpy Geeks str1 after memcpy Quiz 

Vigtige punkter om memcpy()

  1. memcpy() tjekker ikke for overløb eller .
  2. memcpy() fører til udefineret adfærd, når kilde- og destinationsadresser overlapper hinanden.

Bemærk : memmove() er en anden biblioteksfunktion, der håndterer overlapning godt.

Relateret artikel

  • Skriv din egen memcpy() og memmove()