Den memmove funktion i C + + kopierer det angivne antal bytes af data fra den angivne kilde til den angivne destination. Denne funktion kaldes en bevægelse , fordi det bruger en mellemliggende buffer, som gør det muligt for kilden og destinationen til at overlappe . Dette er en binær kopi, så den underliggende datatype er irrelevant. De følgende trin vil hjælpe dig med at bruge memmove funktion. Instruktioner
1
Lær syntaksen i memmove i C + + . Den komplette syntaks er ugyldig * memmove (void * destination , const void * kilde size_t num ) . Bemærk, at denne funktion ikke kigge efter en null -tegn , og ikke kontrollere for overløb. Memmove altid kopierer num bytes og returnerer destinationen array.
2
Vid, at henvisninger til kilden og destination arrays er type -cast til en type tomrum.
3
Forstå, at C + + memmove funktionen holdes i CString biblioteket. Du kan være nødt til også at omfatte string.h headerfilen at bruge memmove
4
kig på følgende komplette program for et simpelt eksempel på , hvordan man bruger memmove med overlappende arrays : .
# include # include
int main () { char streng1 [ ] = " memmove kan bruges XXXXX at flytte overlappende arrays ." memmove ( streng1 +20 , streng1 +26,27 ) printf (" streng1 :% s \\ n " , streng1 ) streng1 [47 ] = ' \\ n' , printf (" streng1 :% s \\ n " , streng1 ) return 0 ;}
5
Overhold efter output til dette program : Hej
streng1 : memmove kan bruges til at flytte overlappende arrays.rrays.string1 : . memmove kan bruges til at flytte overlappende arrays
Bemærk at de " rrays ." ved udgangen af den første udgang viser, at kopien er lavet i en konserverende måde . Matrixen skal manuelt opsiges modsætning strcpy , for eksempel.