Feof -funksjon i C

Feof -funksjon i C
Å lese og skrive filer er utvilsomt et kraftig verktøy som lar oss ha eller lagre enhver form for informasjon og lage databasene for senere utvinning og behandling.

Disse dataene blir trukket ut fra filene en etter en i løkker som gjentas til all informasjonen er trukket ut og vi når slutten av filen

I dette Linux hint, Vi vil vise deg hvordan du bruker Feof () For å avgjøre om funksjonene til Get Data Returns EOF. For å hjelpe deg med å bruke denne funksjonen jevnt, forklarer vi syntaks, inngangs- og utgangsargumenter og typen data som blir akseptert av hver av dem

Deretter implementerer vi denne funksjonen med praktiske eksempler ved hjelp av bilder og kodebiter som vi utarbeidet for deg med forskjellige filer.

Feof () Funksjonssyntaks på C -språk

int feof (fil * f_ptr);

Feof () Funksjonsbeskrivelse på C -språket

De Feof () Funksjon undersøker adressen som er pekt på av f_ptr i filen. Hvis det ikke er noen data der, bestemmer det at det er EOF eller slutt-av-filen og returnerer “1”. Ellers er resultatet “0”. EOF er ikke en rømningskarakter, men et resultat som returneres av noen funksjoner som henter dataene som GetC ().

De Feof () Funksjonen er veldig nyttig, og resultatet brukes som en tilstand i innhentingsløkker for filer for å bestemme enden av løkken når den når enden og det ikke er flere data å hente.

De Feof () er en av funksjonene i C -standardbiblioteket. Før du kan bruke denne og andre inngangs- og utgangsfunksjoner, må du inkludere “STDIO.h ”header til“.C ”-fil:

#inkludere

Hvordan trekke ut dataene fra en fil og bruke Feof () -funksjonen for å bestemme utgangen fra ekstraksjonssløyfen

I dette eksemplet forklarer vi trinn-for-trinn-prosessen for hvordan du lager en løkke for å hente ut dataene fra en tekstfil og bruke Feof () Funksjon for å bestemme utdata når de siste dataene blir trukket ut.

Det første trinnet er å definere f_ptr peker for filen som vi vil trekke ut. Denne pekeren er inngangsargumentet til Feof () og getc (). Vi definerer også dataene C_ av char -type som er utgangen fra getc () -funksjonen i ekstraksjonssløyfen.

#inkludere
#inkludere
hoved()

Fil *f_ptr;
char c_;

Det andre trinnet er å opprette eller bruke en tekstfil som vi åpner for å hente ut dataene fra den.

For å åpne filen, kaller vi Fopen () -funksjonen og passerer navnet og banen som inngangsargumenter der vi lagrer filen og leset “R” -attributtet som er atskilt med komma. Her bruker vi “Dokumenter/Linux_Hint -eksempel .tekst" fil.

Som utgangsargument til fopen () sender vi f_ptr Peker som vi definerte tidligere:

F_PTR = FOPEN ("Dokumenter/Linux_Hint Eksempel.txt "," r ");

Når filen er åpen, f_ptr peker på de første dataene dine. Denne pekeren er inngangsargumentet til Feof () og FGETC () i neste trinn som er gjenvinningssløyfen.

Hvis størrelsen på filen ikke er kjent, er den mest praktiske gjenvinningssløyfen en stundsløyfe der utgangstilstanden er slutten på filen, resultatet av Feof ().

Neste, la oss se på ekstraksjonssløyfen. Feof () kalles i hver syklus der getc () henter et tegn fra filen og skriver den ut til kommandolinjen med printf (). Hvis resultatet som blir negert med “!”Er lik“ 0 ”, sløyfen er forlatt.

samtidig som ( ! Feof (F_PTR)

printf ("%c", c_);
c_ = getc (f_ptr);

Med denne sløyfen kan vi nå trekke ut og skrive ut alle dataene opp til slutten av filen som er pekt på av f_ptr.

I den følgende illustrasjonen ser vi den komplette koden med definisjonen av variablene og pekerne, åpningen av filen, utvinning og utdata av dataene og den påfølgende lukkingen av filen:

#inkludere
#inkludere
hoved()

Fil *f_ptr;
char c_;
F_PTR = FOPEN ("Dokumenter/Linux_Hint Eksempel.txt "," r ");
c_ = getc (f_ptr);
samtidig som ( ! Feof (F_PTR))

printf ("%c", c_);
c_ = getc (f_ptr);

fClose (F_PTR);

I det følgende bildet ser vi tekstfilen som vi bruker for dette eksemplet og utvinning av dataene som er skrevet ut i kommandokonsollen:

Vi kan også legge til en teller for å få antall ekstraherte tegn. For å gjøre dette, må vi definere C_Count heltall som økes hver gang ekstraksjonssløyfen kjører og vise det på slutten.

#inkludere
#inkludere
hoved()

Fil *f_ptr;
char c_;
intc_count = 0;
F_PTR = FOPEN ("Dokumenter/Linux_Hint Eksempel.txt "," r ");
c_ = getc (f_ptr);
samtidig som ( ! Feof (F_PTR))

printf ("%c", c_);
c_ = getc (f_ptr);
C_Count ++;

printf ("\ nextracted tegn: %li \ n", c_);
fClose (F_PTR);

I den følgende figuren kan du se resultatet av ekstraksjonen etterfulgt av antall ekstraherte tegn:

Konklusjon

I dette Linux hint Artikkel, vi forklarte hvordan vi skal bruke Feof () For å bestemme slutten av en fil.

Vi demonstrerte også den praktiske bruken av denne funksjonen ved å lage en enkel konsollapplikasjon som trekker ut dataene fra en tekstfil og bruker Feof () For å bestemme slutten av filen og avslutte ekstraksjonssløyfen. Vi viste deg også hvordan du bruker flere ekstra og komplementære funksjoner for å åpne, lukke og redigere filene på C -språket. Vi håper at denne artikkelen er nyttig for deg. For mer relevante artikler, Brose gjennom Linux Hints søkemotor.