Fsync systemanrop i C

Fsync systemanrop i C

"Du har kanskje hørt mye om C -språkets grunnleggende struktur og dets enkelhet fordi de fleste utviklere har en tendens til å lære det først før de lærer noe annet språk. Den har et FSYNC () systemanrop eller funksjon som skyller (passerer) alle oppdateringene til disken for å gjenspeile endringene som er gjort i en fil. Også FSYNC -funksjonen stopper prosessen med å spyle inntil alle oppdateringene som foregår ved flere prosesser på en enkelt fil ble gjort, og da ville flushen skje ved hjelp av FSYNC () -funksjonsanropet. Denne artikkelen vil demonstrere arbeidet med Fsync () -funksjonen på C -språket.

Ethvert system der du har jobbet eller installert kodingsmiljøet ditt, må oppgraderes og oppdateres slik at de nye feilene kan oppstå godt, og vi kan unngå ulemper. Derfor anbefales det å oppdatere systemet ditt, spesielt Linux -systemet, før og etter installasjoner og konfigurasjoner. Dermed er det "passende" verktøyet det beste å bruke for å oppdatere med "sudo" -rettigheter på konsollen. Hvis det ber om din tillatelse ved å be om passord, må du oppgi det. Om et øyeblikk på sekunder vil systemet ditt bli oppdatert.”

$ sudo apt-get oppdatering

På samme måte må du oppgradere Linux -systemet ditt med det anbefalte verktøyet i.e. “Apt” med “sudo” rettigheter. Oppgraderingsprosessen kan ta litt mer tid enn oppdateringsprosessen.

Denne prosessen kan kreve bekreftelse. Du kan kalle det et trygt trinn der du vil få informasjon om plassen denne prosessen krever fra systemet ditt. Hvis så mye plass ikke plager deg å fortsette med denne installasjonen, bruk "y" -tasten for bekreftelse. Etter dette vil systemet ditt bli oppgradert med nye funksjoner.

Etter at alle nødvendige forutsetninger er installert og konfigurert i systemet vårt, er det nødvendig å konfigurere kompilatoren til C også. Bruk den presenterte kommandoen i konsollen for å gjøre det.

Eksempel

Konseptet med en fil er veldig kjent blant utviklere, spesielt når du har gjort mye arbeid med objektorienterte programmeringsspråk, noen strukturelle språk og enkle prosessuelle språk. Dette C -eksemplet vil være en stor hjelp for enhver utvikler fordi C -språket er det mest grunnleggende læringsspråket for hver programmeringsstudent, og de foretrekker å lære det. Derfor setter vi i gang dette eksemplet med de grunnleggende C -bibliotekene som må importeres til denne koden for å bruke forskjellige C -funksjoner sammen med noen arkiveringsfunksjoner.

De to første bibliotekene er standardbibliotekene som bruker "input" og "output" -funksjonene, mutable og strømmer i kodene. Disse to bibliotekene hjelper oss med andre ord med andre ord. Der kommer “fcntl.h ”header av C. Det er den viktigste overskriften som vi ikke kan gå glipp av når vi vil jobbe med filer fra systemet vårt.

Etter det ble bruken av “sys/typer.H ”og“ SYS/Stat.H ”overskriftsbiblioteker lar oss bruke forskjellige datatyper og statistikk i koden, i.e., tegn, pekere, avkjørsel () funksjoner osv. Sammen med det kan noen arkiveringstyper også brukes ved å bruke de ovennevnte tre bibliotekene, i.e., Les og skriv operasjoner. Endelig har vi en streng.h en unistd.h header som hovedsakelig brukes til å benytte seg av strengmutabel og funksjoner og standard unicode i skriptet.

#inkludere
#inkludere
#inkludere
#inkludere
#inkludere
#inkludere
#inkludere

Nå starter utførelsen av denne koden når Main () -funksjonene blir implementert i koden. Alle de andre relaterte funksjonene blir bare utført etter at de har blitt kalt fra Main () -funksjonen. Så innenfor denne hovedfunksjonen () har vi initialisert en karaktertypepekervariabel med en verdi av en lang streng med tegn. Du må anta at vi må lagre denne strengen i en fil ved hjelp av arkivering. Deretter ble to heltallvariabler, "fil" og "R" erklært. Innenfor "filen" -variabelen vil vi få en verdi ved å bruke "opprette" -funksjonen til arkivering, i.e., "Fil" -variabelen fungerer som en filbeskrivelse.

Create () -funksjonen vil bli brukt til å lage en tilfeldig tekstfil som heter “Fsync.txt ”i mappen der vi har plassert kodefilen vår eller vi jobber. Denne funksjonen tar et valgfritt argument som definerer tilgangsmodus for en fil som skal opprettes. Vi bruker to alternativer, s_irusr og s_iwusr, for å få tilgang til filen i fremtiden, i.e., Vi har tilgang til det for å lese og skrive. Hvis filen ble opprettet med hell, ville "filen" -beskrivelsen få "1" til gjengjeld; ellers, 0 eller annen negativ verdi.

"IF" -uttalelsen som er brukt i dette skriptet, sjekker om "filen" -beskrivelsen fikk noen annen negativ verdi enn "-1". I så fall betyr dette at filen ikke opprettes med hell, og Perror -metodeoppgaven brukes til å kaste en Create () -funksjons unntak. Utgangen (1) uttalelsen vil være her for å avslutte programmet hvis CATER () -funksjonen ikke fungerer som den skal. Tilsvarende brukes skrive- () -funksjonen til C til å skrive karakterstrengpekeren “A” til en fil “Fsync.txt ”ved hjelp av" filen "-beskrivelsen.

For dette har vi passert lengden på en variabel som skal sendes ved bruk av strlen (a) -funksjonen som det tredje argumentet, "filen" -beskrivelsen som det første argumentet, og variabel peker "a" som det andre argumentet. Hvis verdien “A” ble skrevet med suksess i filen, ville skrive- () -funksjonen returnere noen ikke-negativ verdi til “R” -variabelen, inkludert “-1”. Hvis noen negativ verdi vil bli sendt til "R" -variabelen, vil "hvis" -uttalelsen kaste en "skrive ()" -funksjonsfeil ved å benytte seg av "Perror" -funksjonen igjen. FSYNC () -funksjonen bruker filbeskrivelsen “-filen” for å gi lagringsenheten beskjed om tilstanden til en “Fsync.txt ”-fil, i.e., tom, fylt eller oppdatert.

int main (int argc, char *argv [])
char *a = "Velkommen til Linux og C -programmering ...";
int -fil, r;
fil = opprette ("fsync.txt ", s_iwusr | s_irusr);
if (fil < -1)
Perror ("Creat ()");
Avslutt (1);
r = skriv (fil, a, strlen (a));
if (r < -1)
Perror ("skriv ()");
Avslutt (1);
fsync (fil);
Lukk (fil);
retur 0;

Etter filsamling med “GCC” -verktøyet og utførelsen med “./en.ut "kommandoverktøy, vi har lagt til dataene til en tekstfil, i.e., I henhold til utgangen nedenfor.

Konklusjon

Det er det! Etter å ha gått gjennom hele guiden, antar vi at du nå har all kunnskap om fsync () -funksjonen til C uten tvil.