Den memmove funktion i C + + kopierar det angivna antalet byte av data från den angivna källan till angiven destination . Denna funktion kallas ett drag eftersom den använder en mellanliggande buffert som möjliggör källan och destinationen för att överlappa . Detta är en binär kopia så den underliggande datatypen är irrelevant . Följande steg kommer att hjälpa dig att använda memmove funktionen . Instruktioner
1
Lär syntaxen i memmove i C + + . Den kompletta syntaxen är void * memmove ( void * destination , const void * källa , size_t num ) ; . Observera att denna funktion inte leta efter en null avslutande karaktär och inte kontrollera overflow . Memmove kopierar alltid num byte och returer destinationen array .
2
Vet att de pekare till källan och arrayer destination är typ - cast till en typ av tomrum .
3
Förstå att C + + memmove funktion hålls i CString biblioteket . Du kan behöva inkludera string.h sidhuvudfilen att använda memmove
4
Titta på följande komplett program för ett enkelt exempel på hur man använder memmove med överlappande arrayer : .
# include # include
main
int ( ) { char sträng1 [ ] = " memmove kan användas XXXXX att flytta överlappande arrayer . "; memmove ( string1 +20 , sträng1 +26,27 ) ; printf ( " sträng1 : % s \\ n " , sträng1 ) , sträng1 [ 47 ] = ' \\ n ' ; printf ( " sträng1 : % s \\ n " , sträng1 ) , avkastning 0; }
5
Iaktta efter utgång för detta program :
sträng1 : memmove kan användas för att flytta överlappande arrays.rrays.string1 : . memmove kan användas för att flytta överlappande arrayer
Observera att de " rrays . " vid slutet av den första utgång visar att kopian görs i en konserverande sätt. Matrisen måste manuellt avslutas skillnad strcpy , till exempel .