Headerfil:
streng.hSyntaks:
void *mempcpy (void *dest, const void *src, størrelse_t størrelse)Argumenter:
Funksjonen tar 3 argumenter:
Dette er en startpeker for en minneblokk der minneblokken peker på src (2. argument) vil bli kopiert. Pekeren er deklarert som ugyldig, slik at enhver type minneblokk kan kopieres.
Dette er en startpeker for kildeminneblokken der minneblokken vil bli kopiert. Pekeren er deklarert som ugyldig, slik at enhver type minneblokk kan kopieres.
Dette er størrelsen på minneblokken i byte.
Verdien av de to pekeren DEST og src skal være på en slik måte at to minneblokker ikke overlapper hverandre. Størrelsen på minneblokker med kilde og destinasjon må være minst av størrelse (3. argument) byte for å unngå overlappende situasjoner. Hvis de to minneblokkene er overlappet, så er oppførselen til memcpy () Funksjonen er udefinert. Når det er en mulighet for overlapping, kan du bruke Memmove () Bibliotekfunksjon der overlapping er godt definert. Memmove () funksjonen er tregere sammenlignet med memcpy () funksjon.
På grunn av verdien av størrelse, Hvis kilden eller destinasjonen er tilgjengelig utover bufferlengden deres, så er oppførselen til memcpy () Funksjonen er udefinert.
De memcpy () funksjonen sjekker ikke for å avslutte '\ 0' tegn.
Returverdier:
Denne funksjonen returnerer verdien av destinasjonsadressen DEST. Som verdien av DEST er allerede tilgjengelig, den trenger ikke å lagre i noen variabel.
Eksempler:
// Eksempel1.cI eksempel1.C Vi har erklært to-karakter-matrise src og DEST. Størrelsen på src er 6 og DEST er 13. Først kopierte vi 6 tegn 'H', 'E', 'L', 'L', 'O', '\ 0' fra src til DEST (Linje 11). I den andre memcpy () funksjonen kopierte 8 tegn ", 'w', 'o', 'r', 'l', 'd', '!',' \ 0 'til dest etter 5 tegn (linje 15). Bildelig kan vi representere dette som følger:
// Eksempel2.cI eksempel2.C Vi har erklært to strukturer Student1 og Student2 (Linje 15 og 16). Først initialiserer vi Student1 (linje 19, 20, 21). Etter det bruker vi memcpy å kopiere data fra Student1 til Student2.
Konklusjon:
I denne artikkelen har vi lært hvordan vi bruker memcpy funksjon. Vi har sett at denne funksjonen kan brukes til alle typer minneblokk, men denne funksjonen har noen begrensninger. Så du må bruke denne funksjonen nøye.