Memmove i C og C ++

Memmove i C og C ++

I dag skal vi lære en av de viktige funksjonene til C- og C ++ -språket som er Memmove () -funksjonen. Men før det, la oss se raskt på det grunnleggende i C- og C ++ -språkene. Vi vil også diskutere hvilke funksjoner som er i begge C/C ++ -språk.

C -programmeringsspråket er enkelt og ganske effektivt for alle formål. Implementering av programvare som Windows OS, databaser, tolker og andre verktøy er mulig med det. C er et flott språk for nybegynnere å lære kodingen med. Derfor er C -programmering kjent som morspråket siden det fungerer som grunnlaget for alle andre dataspråk. Grunnlaget for programmeringsspråket C ++ er basert på ideene til objektorientert programmering (OOP). Brukeren kan utvikle og forstå programmets prinsipper enkelt siden C ++ har en klar struktur. C \ C ++ programmeringsspråket er usedvanlig allsidig når det gjelder å utføre flere funksjoner og bytte en variabel fra en type til en annen. Memmove () -funksjonen er en av funksjonene til C/C++.

Memmove () -funksjonen overfører “NUM” -byte samtidig fra innholdet i minneblokken som er indikert av kilden mot stedet som er angitt av destinasjonen. Memmove () -funksjonen er bare gunstig når kilde- og destinasjonsobjektene overlapper hverandre og stopper den udefinerte oppførselen fra å oppstå. For å lære mer om Memmove () -funksjonen, la oss grave dypt og se hvordan vi implementerer syntaks og eksempler i Memmove () -funksjonen.

Syntaks:

Her er den samme skrivestilen og implementeringen av Memmove () -funksjonen for både C og C ++ språk. For det første skriver vi "Void" -tnøkkelordet som betyr at hvis funksjonen ikke returnerer noen verdi, skriver vi navnet på funksjonen vi ønsker å implementere, som er Memmove () -funksjonen. I funksjonsbrakettene skriver vi destinasjonen slik at vi kan plassere "Num" -byte med "void" nøkkelordet. Deretter skriver vi kildeplassen der vi får "num" byte.

Parametere:

dest: Adresse til lagringsstedet som dataene kopieres.

SRC: Adresse til lagringsstedet som dataene kopieres.

telle: Mengden data som skal kopieres fra kilde til destinasjon.

Returverdi:

Til gjengjeld får vi adressen til målminneområdet. Dest blir returnert av Memmove () -funksjonen.

Eksempel 1: Implementering av MEMMOVE () -funksjonen i C

La oss begynne å implementere vårt aller første og enkle eksempel på C -språket. For å begynne å skrive, trenger vi først en C -kompilator slik at vi kan skrive og utføre programmet. For det, åpne C -kompilatoren og begynn å implementere programmet.

#inkludere
#inkludere
int main ()

char ch1 [] = 'l', 'i', 'n', 'u', 'x';
int lengde = størrelse av (CH1)/størrelse av (CH1 [0]);
printf ("før du bruker memmove () funksjon:");
for (int i = 0; i< length; i++)

printf ("%c", ch1 [i]);

char *ch2 = & ch1 [2];
Memmove (CH2, CH1, Sizeof (Char)*2);
printf ("\ n \ nafter anvendelse av memmove () funksjon:");
for (int i = 0; i<5; i++)

printf ("%c", ch1 [i]);

retur 0;


Vi starter alltid med å innlemme kjerneprogrammodulene etter å ha startet kompilatoren. Disse modulene er de medfølgende C -språkmodulene. Vi trenger ganske enkelt å skrive en kodeinje for å inkludere disse modulene, i motsetning til dusinvis av kodelinjer for å konstruere modulen. "#" -Indikatoren informerer oversetteren om å laste modulen først før du bruker "Inkluder" nøkkelord for å legge til modulen i programmet. “Stdio.H ”-modul betyr at kompilatoren godtar dataene fra brukeren og viser dem til brukeren. Den andre modulen til programmet er "#include" slik at vi kan bruke strengrelaterte funksjoner i det eksisterende programmet.

Deretter starter vi Main () -funksjonen slik at vi kan skrive den faktiske kodelinjen som vi ønsker å implementere i programmet. På linje 6 erklærer vi karakterarray -navnet “CH1” av typen karakter. Deretter tildeler vi en karakterverdi til den. Etter det beregner vi lengden på "CH1" og skriver ut inngangsarrayen "CH1" ved å bruke "for loop".

Etter det erklærer vi pekeren til "CH2" -arrayen til et typekarakter og tildeler adressen til "CH1" -arrayen til "CH2" -arrayen. Deretter skriver vi den ut ved hjelp av PRINTF () -uttalelsen. La oss se utdataene fra forrige illustrasjon:

Eksempel 2: Implementering av MEMMOVE () -funksjonen i C++

Her er det grunnleggende eksemplet som viser hvordan Memmove () -funksjonen fungerer på C ++ -språket. For å begynne å skrive, trenger vi først en C ++ IDE slik at vi kan skrive og utføre programmet. For det, åpne C ++ -kompilatoren og begynn å implementere programmet.

Etter å ha åpnet kompilatoren, starter vi alltid med å inkludere overskriftsfilene som er nødvendige for C ++ programmeringsspråket for programmene å kjøre. For å konstruere programmet og bruke MemMove () -metoden, inkluderer vi først de to grunnleggende overskriftsfilene - "Iostream" og "CString". C ++ gir flere måter å jobbe med matriser og strenger. Disse funksjonene blir gjort tilgjengelige for bruk når overskriftsfilen er inkludert i et program med "#include" -overskriftsfilen som brukes til å kopiere et visst antall byte data fra kilden til destinasjonen. Overskriftsfilen "#include" brukes både for inndata og utdata fra brukeren fra brukeren. Deretter bruker vi standard "navneområde STD" i koden vår for å bruke standard syntaks for C ++ programmeringsspråket, slik at vi kan forhindre at objekter, metoder og parametere refererer til det samme omfanget gjennom hele programmet.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()

char src [50] = "1234567890";
Char Dest [50] = "0987654321";
cout<< "Before Appyling memmove to Destination: " << dest << endl;
Memmove (dest, src, 6);
cout<< "After Appyling memmove to Destination: " << dest;
retur 0;


Vi begynner å skrive hovedfunksjonen () for å starte utførelsen av en faktisk kodelinje. På linje 7 er det en to-karakter type rekke lengde 50 som er erklært som "SRC [50]" og "DEST [50]". Vi bruker "cout" -uttalelsen for å skrive ut meldingen, "Før du bruker Memmove () på destinasjonen:". Deretter passerer vi "DEST" -parameteren for å skrive ut verdien av "DEST" -arrayen. Deretter brukes memmove () -funksjonen på karaktertypen variabel erklært som "SRC [50]" og "DEST [50]" for å overlappe det bestemte antallet byte fra opprinnelsen (SRC) til målet (dest) med Antall "telling". Dette identifiserer antall byte som er kopiert fra “SRC” til “Dest”. Som du kan se i følgende illustrasjon, erklærte vi “6” tellende nummer.

Etter det bruker vi "cout" -uttalelsen igjen for å vise meldingen, "etter å ha brukt memmove () på destinasjonen:", og passerer den variable "dest" -arrayen av "karakter" -type. For å stoppe programmet fra å løpe, må vi bruke en returerklæring etter programmets konklusjon. Vi returnerer deretter 0 til hovedfunksjonen, noe som indikerer at programmet blir utført med suksess og oppnådd sitt mål.

Du kan se i følgende utdata fra Memmove () -metoden at hvis det for eksempel er overlappende, når den første pekeren beveger seg til bokstaven 6, fortsetter pekeren utskrift og følgende tegn vil overlappe hverandre. Dette C ++ kodebit ble kjørt og resultatene vises i følgende bilde:

Konklusjon

I denne artikkelen lærte vi om Memmove () -funksjonen i C og C ++ programmeringsspråk. Vi snakket om hvordan Memmove () -funksjonen fungerer gjennom eksemplet på C og C ++ med en detaljert forklaring av hver kodeinje. Vi håper at du synes denne artikkelen er nyttig i å utvikle kunnskapen din om Memmove () -funksjonen i C og C++.