Hvordan bruke Memmove funksjon i C ++

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 en mellomliggende buffer som gjør det mulig for kilden og destinasjonen til å overlappe hverandre. Dette er en binær kopi så den underliggende datatype er irrelevant. Følgende trinn vil hjelpe deg å bruke den memmove funksjonen.

Bruksanvisning

1 Lær syntaksen memmove i C ++. Den komplette Syntaksen er ugyldig

memmove (void reisemålet, konst tomrom * kilde, size_t num) ;. Merk at denne funksjonen ikke ser etter en null avslutnings karakter og kontrollerer ikke for overløp. Memmove alltid kopier num bytes og returnerer reisemålet matrise.

2 Vet at pekere til kilden og målet arrays er typestøpt til en type annullert.

3 Forstå at C ++ memmove funksjon holdes i cstring biblioteket. Du må kanskje inkludere string.h header fil som skal brukes memmove.

4 Se på følgende komplett program for et enkelt eksempel på hvordan du bruker memmove med overlappende matriser:

inkludere inkludere

int main ()
{
char string1 [] = "memmove kan brukes XXXXX til å bevege seg overlappende rekker.";
memmove (streng1 + 20, string1 + 26,27);
printf ( "streng1:% s \ n", string1);
streng1 [47] = 'n \';
printf ( "streng1:% s \ n", string1);
returnere 0;
}

5 Vær oppmerksom på følgende utdata for dette programmet:

streng1: memmove kan brukes til å flytte overlapp arrays.rrays.
string1: memmove kan brukes til å flytte overlappende matriser.

Legg merke til at de "rrays." ved slutten av den første utgangs viser at kopien er laget i et bevare måte. Matrisen må manuelt avsluttet i motsetning strcpy, for eksempel.