Den memmove funksjon i C + + kopierer angitt antall byte med data fra den angitte kilden til den oppgitte destinasjonen . Denne funksjonen kalles et trekk fordi den bruker et mellomliggende buffer som gjør at kilde og destinasjon å overlappe. Dette er en binær kopien slik det underliggende datatype er irrelevant . Følgende trinn vil hjelpe deg å bruke memmove funksjonen. Instruksjoner
en
Lær syntaksen til memmove i C + + . Den komplette syntaksen er ugyldig * memmove (void * reisemål, const void * kilde , size_t num ); . Merk at denne funksjonen ikke se etter en null avslutning karakter og kontrollerer ikke for overløp . Memmove alltid kopierer num bytes og avkastning målet matrise .
2
Vite at pekere til kilden og målet arrays er type- cast til en type ugyldig.
3
Forstå at C + + memmove funksjonen er holdt i CString biblioteket. Du må kanskje inkludere string.h header-fil for å bruke memmove
4
titt på følgende komplett program for et enkelt eksempel på hvordan du bruker memmove med overlappende arrays : .
# include # include
int main ( ) { char streng1 [ ] = " memmove kan brukes XXXXX å flytte overlappende arrays . "; memmove ( streng1 20 , streng1 +26,27 ); printf ( " streng1 :% s \\ n " , streng1 ) ; streng1 [ 47 ] = '\\ n '; printf ( " streng1 :% s \\ n " , streng1 ), tilbake 0 ;}
5
Observer følge utgang for dette programmet : en
streng1 : memmove kan brukes til å flytte overlappende arrays.rrays.string1 : . memmove kan brukes til å flytte overlappende arrays
Merk at " rrays . " ved slutten av den første utgangen viser at kopien er laget i et bevare måte. Matrisen må manuelt avsluttet motsetning strcpy , for eksempel.