logo

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

java kommentarer
>

>

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()