EOF i C ++

EOF i C ++

I filhåndtering vet vi ikke hvor mye data som er lagret i filen. Siden omfanget av data i innlevering stort sett er ukjent, hvordan kan vi lese filen i så fall? Når vi ikke vet hvor mye data filen inneholder, bruker vi EOF () -metoden for å lese en fil. EOF () -metoden er "enden av filen" som leser filen til kontrollen når slutten av filen. Denne metodikken er veldig egnet til å presentere dataene til filer. De tingene vi vet om filene er typen fildata og formateringsstilen til de lagrede dataene. Eof () -funksjonen lar oss bestemme når filen har nådd sin slutt.

EOF () er en konstant metode av bool-type som returnerer sann når slutten av filen er nådd og den returnerer usant når det fremdeles er data som skal leses. Det er en metode for input-output stream class (iOS) som leser dataene til en fil til slutten er oppstått.

Syntaks:

bool eof () const;


Denne metoden er en boolsk metode av konstant type, noe som betyr at den ikke kan endres. Enten returnerer det sant eller usant. Denne funksjonen har ingen parametere.

Returtype:

Når den kommer tilbake "sant", betyr det at slutten er nådd. Når den kommer tilbake "falsk", betyr det at slutten ikke oppstår ennå.

Bruk eof () til å lese en fil som allerede er opprettet

Programmet leser dataene fra en tekstfil. Når den når slutten, viser den en melding. For å gjøre alle disse, kaller vi eof () -funksjonen.

Opprett en fil:

Først av alt, lag en tekstfil, “Eksempel.tekst". Legg til litt innhold i det og lagre filen. Denne filen skal lagres i en lignende mappe som C ++ -koden.


Kode:

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

ifstream ist ("eksempel.tekst");
char ch;
mens (ist.få (ch))
cout << ch;
hvis (ist.eof ())
cout << "[EoF reached]\n";
ellers
cout << "[Error Reading]\n";
ist.Lukk();
retur 0;


La oss nå begynne å kode. Importer biblioteket for å bruke inngangs- og utgangsfunksjonene til dette biblioteket. Deretter importere som filstrøm. Vi importerer dette biblioteket slik at vi får tilgang til metodene. Ring Main () -metoden. Deretter, definer "ifstream" som er inngangsstrømmen. Lag dets objekt og gi plasseringen av en tekstfil som vi tidligere har laget eller bare skriver navnet på den filen. Når kodefilen og tekstfilen er lokalisert i samme mappe, nevner vi bare navnet på filen med utvidelsen. Definer en karaktertypevariabel, “CH”. Denne variabelen får dataene fra strengen. Bruk "mens" -løkken for å kontinuerlig lese filens data til slutten er nådd. Inne i “mens” -løkken, bruk “Cout” -kommandoen til å skrive ut dataene. Etter å ha vist hele dataene i filen, angir du "IF" -tilstanden. Hvis inngangsstrømmen "ist" når slutten av filen, viser du "EOF -nådd" -meldingen. Ellers utfør "ellers" -delen. Skriv ut en feilmelding "Feillesing" i "Else" -delen. Lukk deretter filen ved å kalle lukk () -funksjonen.

Produksjon:

Hallo World 360 [eof nådd]

Få dataene fra filen

La oss forklare hvordan vi kan få dataene fra en fil og sjekke slutten av en fil ved hjelp av EOF ().

Opprett en fil:

Lag nå en tekstfil som heter “Eksempel2.tekst". Forsikre deg om at du lagrer både teksten og C ++ -filene i samme mappe. Det vil ikke forårsake problemer mens du får tilgang til filen. Her skriver vi navnet på noen få byer i filen. Lagre og lukk filen.


Kode:

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

Char City_names [15];
ifstream file ("Eksempel2.tekst");
hvis(!fil)

cout<<"Error while opening";
Avslutt (1);

cout<<"List of Cities in file : \n";
samtidig som(!fil.eof ())

Fil >> City_names;
cout<
fil.Lukk();
retur 0;


I C ++ -koden, importer to biblioteker - og . Etter å ha brukt standard navneområde, påkaller du Main () -metoden og erklærer "City_names" -karaktertypen. Angi deretter størrelsen på matrisen som får en rekke tegn fra tekstfilen. Opprett et "fil" -objekt av "IFStream" -inngangsfilstrømmen og gi navnet på tekstfilen som er "Eksempel2.tekst". Bruk nå "hvis" -uttalelsen for å sjekke om en definert fil åpnes eller ikke. Skriv ut en feilmelding hvis filen ikke åpnes. Utenfor "hvis" uttalelse, bruk "cout" -kommandoen for å vise en "liste over byer i fil" -teksten. Bruk dessuten en "mens" -løkken for å iterere i filen for å få dataene. Sløyfe til filen ikke er nådd på slutten. For å sjekke slutten av filen, ring EOF () -metoden. Få fildataene i "mens" -løkken og lagre dem i "City_names" -karakteren. Vis deretter den matrisen.

Filen får alt innholdet vi lagrer i “Eksempel2.txt ”tekstfil og viser dataene samtidig. Lukk filen utenfor sløyfen. Lukking av en fil er viktig for å forhindre at filen er skade.

Produksjon:

Liste over byer i fil:
Lahore
Karachi
Multan

Kode for å skaffe dataene fra brukeren

I dette eksemplet skaffer vi brukerens data og legger dem inn i en tekstfil. Deretter viser vi dataene fra den filen på konsollen. For å lese dataene fra en fil, bruker vi også eof () som informerer oss når filen er nådd.

Lag en tom fil:

Først en tom fil, “Eksempel3.txt ”, opprettes og lagres i en mappe. I denne tomme filen lagrer vi dataene som brukeren gir oss. Deretter blir disse dataene lest.


Kode:

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

Char -navn [15];
avStream out ("Eksempel3.tekst");
ifstream in ("Eksempel3.tekst");
for (int i = 0; i<3;i++)

cout<<"Enter Name : ";
får (navn);
cout<
ute.Lukk();
cout<<"List of Names is : ";
cout<samtidig som(!i.eof ())

i.getline (navn, 100);
cout<
i.Lukk();
retur 0;


Den viktigste delen av koden er inkludert bibliotekene. I hovedfunksjonen (), definerer du en karakterutvalg av størrelse 15. Lag et "out" -objekt av "ofstream" output -filstrømmen. Det gir banen/navnet på den tomme tekstfilen. Opprett deretter et "i" objekt av "ifstream" inngangsfilstrømmen. Bruk "for" -løkken for å hente strengen fra brukeren. HER, skriv ut "Enter Name:" -meldingen. Ring get () -metoden; Det får strengen med navn fra brukeren, og "out" ofstream -objektet åpner filen for å skrive. Dette avStream -objektet skriver navnene i tekstfilen. Utenfor "for" -sløyfen, lukk "ut" av Stream -objektet fordi vi er ferdige med å skrive. Vis "listen over navn er:" tekst på skjermen. Bruk dessuten “mens” -løkken og definer tilstanden. Les dataene fra filen til avslutningen av en fil ikke er oppnådd. Bruk getLine () -funksjonen slik at vi får linjene fra tekstfilen. Vis disse linjene på konsollen. Utenfor "mens" -løkken, påkaller du lukk () -metoden til "inn" inngangsfilstrømmen.

Produksjon:

Skriv inn navn: Halibi
Skriv inn navn: John
Skriv inn navn: Nike
Liste over navn er:
Halibi
John
Nike


Etter lagring av dataene:


Etter å ha fått navnene fra brukeren og utført C ++ -koden, åpner vi den tomme filen som vi opprettet. Her ville vi se alle navnene. Etter utførelsen av koden blir disse navnene lagret i “Eksempel3.txt ”tekstfil.

Konklusjon

Vi diskuterte EOF () -metoden i denne artikkelen. EOF er slutten på en fil som brukes mens du leser en fil. Vi kan avgjøre når filen er avsluttet med å ringe EOF () -metoden. Artikkelen forklarer emnet om EOF i C ++ ved hjelp av forskjellige koder der vi opprettet tekstfilen, skrev inn dataene i filen og leste deretter disse dataene fra filen. EOF () -metoden er en boolmetode, enten er den sann eller falsk.