C ++ ofStream -funksjoner

C ++ ofStream -funksjoner
Data lagres lokalt på datamaskiner gjennom filhåndtering. Vi kan sette inn innholdet i sekundært minne ved å administrere filer.

Den beste måten å håndtere filer på

Trinnene nedenfor må tas for å håndtere filer:

  • Gi et navn til fil
  • Åpne en fil.
  • Skriv inn informasjon i filen.
  • Ta data ut av filen.
  • Slå av en fil.

Strømmer i c++

Vi gir innspill til kildekoden og den eksisterende koden returnerer utdataene. Begrepet "strøm" refererer til både strømmen av byte som blir gitt til hovedprogrammet som input og serien med byte som er returnert av kildekoden. Med andre ord, strømmer er mer enn bare en rekke data som flyter.

"Konsollinngang og utgangsdrift" refererer til inngangen og utgangen mellom programmet som kjører og inngangs- og utgangsenhetene, for eksempel tastaturet og skjermen. "Diskinngang og utgangsdrift" refererer til utgangene og inngangene mellom både den for øyeblikket kjørende programvaren og filene.

Filstrømsprosedyrer

En samling av klasser i C ++ inngangs- og utgangsmodulene spesifiserer filhåndteringsteknikker. Den vil inneholde klassenes ifstream, ofstream og fstream. Slike klasser er avstammet fra Fstream -klassen og dens relaterte iostream -klasse. Enhver applikasjon som bruker filer, bør omfatte Fstream -filen siden den inneholder erklæringer for klassene som brukes til å håndtere lagringsfilene.

iOS
Denne kategorien er hovedmodulen for alle andre klasser i dette hierarkiske systemet. iOS indikerer input-output-strømmen.

Ressursene som kreves for input og utgangsfunksjoner som brukes av alle andre underklasser, er gitt i denne klassen.

istream
Inngangsstrømmen blir referert til som istream. Denne typen er en etterkommer av 'iOS' -klassen. Streaminngang administreres av denne kategorien.

Denne klassen har overstyrt utvinningsoperatøren (>>) for å administrere inngangsstrømmer for implementering av en kode.

Get (), getline () og leste () inngangsmetoder er spesifisert i denne modulen.

ostream
Ostream refererer til utgangsstrømmen. Klassen 'iOS' er en etterkommer av denne. Utgangsstrømmen styres av denne komponenten.

StreamBuf
Bufferen som brukes for å kontrollere inngangs- og utgangsstrømmene, blir referert til gjennom en peker i denne modulen.

fStreamBase
Denne klassen tilbyr funksjoner som er utbredt for å filstrømmer. Det fungerer som grunnlaget for kategoriene: fstream, ifstream og ofstream.

De åpne () og lukkede metodene er inkludert i denne modulen.

ifstream
Inngangsoperasjoner tilbys av denne typen. Open () -metoden er til stede og inngangsalternativet er vanlig. Den skaffer seg metodene lest (), søker (), tell (), get () og getline () fra istream.

avStream
Denne klassen inneholder funksjoner for utgang. Det inkluderer standard utgangsmetode for Open () -metoden. Den håndterer ostream's put (), skriv (), søker () og tell () metoder.

fStream
Evnen for flere inngangs- og utgangsfunksjoner håndteres av denne klassen. Av iostream importerer den hver metode fra Istream og Ostream -grensesnitt.

filbuf
Å sette filbufferne til å lese og skrive teksten er dens funksjon. Filbufferkomponentmetoden kan også brukes til å beregne filens størrelse. Tre klasser-fstream, ifstream og ofstream-er til stede i Fstream-malen og brukes stort sett i C ++ for å håndtere filer.

  • avStream: En filskrivingsstrømstype.
  • Ifstream: Det er en klasse for å lese filer fra strømmer.
  • FStream: Det er en slags strøm som kan lese og skrive til/fra filer.

Drift av C ++ ofStream

Iostream -overskriften, som har metodene CIN og Cout, vil bli brukt til å lese fra inngangskilden og skrive til utdatafilen. Tilsvarende brukes C ++ overskriftsfilen Fstream til å lese innhold fra filer og skrive informasjon til filer. De tre dataklassene 'avStream, IFStream og Fstream tilbys av overskriftsfilen Fstream. Vi bruker avStream ved å integrere modulen i koden, selv når det er viktig å representere utdatafilstrømmen, generere en fil og skrive data til filen. Klassen Ostream er en etterkommer av avstrøm.

Syntaks
Syntaksen for C ++ ofStream er som følger:

# avStream var_name;
var_name.åpen (filnavn);

Navnet på den nødvendige variabelen er representert av 'var_name'. Filen som vil få tilgang til, kalles 'File_name'.

Output Stream Open -metoden

En utgangsfilstrøm (ofStream) skal kobles til et bestemt filsystem i konstruktøren eller åpen metode slik at den kan brukes. Brukere kan bruke den identiske strømforekomsten med flere filer hvis vi bruker den åpne metoden. Parametrene som brukes til å identifisere filen ligner på alle scenarier.

Normalt er en åpen modusparameter spesifisert når du åpner en fil koblet til en utgangsstrøm. Disse attributtene, som har vært oppregere i inngangsutgangsstrømmodulen, kan kobles sammen ved å bruke bitvis eller operatør.

De Sette Metode

Én bokstav er skrevet til utgangsstrømmen etter put -metoden.

De Skrive Metode

En minneblokk er skrevet til en utgangsfilstrøm gjennom skrivemetoden. Antall byte som presenteres er gitt av størrelsesparameteren. Hele klassestrukturen er skrevet fordi skrivemetoden ikke avsluttes når den møter et nullelement. En char -kommando og antall tegn som skal skrive er de to inngangene funksjonen krever. Rett før referansen til strukturelementet, må du ta oppmerksom på passende konvertering til røye *.

SEKP- og Tellp -metodene

En iboende peker som identifiserer banen til de kommende dataskrivingen opprettholdes av en utgangsfilstrøm. Denne porten opprettes av Seekp-funksjonssamtalen som også returnerer lagringsfiler tilfeldig tilgang. Filadressen er innhentet av Tellp -funksjonssamtalen.

Den nære funksjonen

Utgangsfilstrømmenes lagringsfil avsluttes ved å bruke den lukkede metodesamtalen. For å fullføre all utdata til systemet, skal filen være stengt. Om nødvendig avslutter avstrøms destructor filen for deg. Imidlertid, hvis vi ønsker å åpne en ny fil for samme strømklasse, vil vi bruke den nære metoden. Hvis konstruktøren eller den åpne medlemmetoden åpner filen, ville utgangsstrømmen Destructor slutte å fungere i strømmenes fil? Vi må stenge filen manuelt hvis vi bruker vedleggsmetoden eller oppgi et filnavn for en åpen fil til konstruktøren.

Medlemskonstanter

Ulike medlemskonstanter bruker for avstrømsfunksjonene er:

Medlemskonstant: i *

Det representerer inngangen.

Fil tilgjengelig for lesing. Inngangsoperasjoner leveres av den iboende strømbufferen.

Medlemskonstant: ut

Det representerer output.

Fil tilgjengelig for skriftlig skjema: Utgangsoperasjoner håndteres av den underliggende strømbufferen.

Medlemskonstant: binær

Det viser den binære verdien.

I stedet for å bruke tekst, utføres operasjoner i binær modus.

Medlemskonstant: spiste

Det betegner på slutten.

Endepunktet på filen er der utgangsstedet begynner.

Medlemskonstant: App

Det representerer vedlegg.

Filens gjeldende data legges til hver utgangsoperasjon, som finner sted.

Medlemskonstant: trunc

Det indikerer avkortning.

Rett før filen ble åpnet, ble alle dataene fjernet.

Eksempel 1

I dette eksemplet ville vi se hvordan du oppretter en fil i C++.

I starten av denne koden legger vi til biblioteker som er og som er ansvarlige for å administrere filene som å opprette, legge til, oppdatere og slette filene. Deretter legger du til navneområdet standard. Etter det starter vi vår viktigste () funksjon. I main () -funksjonen får vi filen vår ved å bruke OfStream () -funksjonen som brukes til å opprette den nye filen i C ++ -filsystemet. I parametrene for denne funksjonen passerer vi filen vår ved å gi riktig navn på filen.

Husk at kodefilen og tekstfilen må plasseres på samme sted. Her skriver vi betingelsen om at hvis filen eksisterer, ikke angir uttalelsen og utfører den andre uttalelsen der vi viser en melding om at filen eksisterer. Når filen ikke vil være til stede, oppretter vi filen og skriver litt tekst i denne filen. Deretter lukker vi filen ved å kalle lukk () -funksjonen med filnavnet som du kan se i de to utgangene nedenfor. Vi kjører koden for første gang og filen opprettes, men når vi kjører koden for andre gang gir den oss meldingen om at filen eksisterer.

Hvis den definerte filen eksisterer, skaffer vi oss denne typen utfall.

Eksempel 2

I dette tilfellet ville vi skrevet dataene i filen.

Som vi vet brukes også avstrømsfunksjonen til å skrive, oppdatere eller redigere tekstfilen i filsystemet til C++. Så her skriver vi en kode for å skrive litt tekst til en dokumentfil. For dette formålet har vi våre nødvendige biblioteker som og det første biblioteket som inneholder definisjonen av input-output-funksjoner. Deretter bruker vi standarden på navneområdet og skriver ut Main () -funksjonen.

Etter det, få filen som vi opprettet ved hjelp av vår siste kode. Igjen, ved å bruke OfStream () -funksjonen, vil funksjonen administrere alle våre operasjoner relatert til arkiveringen på dette språket. Vi initialiserer en fil og gir tekstfilen vår til den ved å bruke Open () -funksjonen og sende tekstfilen i parametrene til denne funksjonen. Deretter sender vi en setning til filen og viser en melding som er "Filskriv vellykket". Ring deretter Close () -funksjonen med filnavnet for å lukke tekstfilen vår som ble åpnet i starten av koden for å legge til litt tekst i denne filen.

Eksempel 3

I dette tilfellet ser vi hvordan du kan sjekke om filen er tom eller ikke.

I forrige fil la vi til teksten vår i filen, men viste ikke. Så vi kan også sjekke først om filen vår er tom eller ikke ved å vise innholdet i filen. Hvis den er tom, legger vi til litt tekst og viser dataene i konsollen igjen. Den første linjen inkluderer overskriftsfilene våre som støtter våre forskjellige funksjoner relatert til inngang og utdata, samt relatert til filene våre. Vi legger til navneområdet vårt. I neste linje starter vi Main () -funksjonen der vi utfører alle funksjonalitetene våre ved å skrive koden.

Først kaller vi OfStream () -funksjonen og initialiserer filen. Ring deretter Open () -funksjonen for å gi filen ved å gi filnavnet til parametrene. Gi den deretter til filvariabelen som vi opprettet tidligere. Deretter viser vi dataene til filen ved å bruke 'mens' -løkken fordi C ++ -språket leser tekstfilen Word for Word, så vi bruker en stundsløyfe. I tilstanden til en stundsløyfe kaller vi Get Line -funksjonen som brukes til å lese tekstfilen. I parametrene, hvis denne funksjonen sender vi filen vår, så vel som en streng som lagrer alle dataene. I den stundsløyfen viser vi filen vår og lukker filen ved å kalle lukk () -funksjonen.

Eksempel 4

I denne illustrasjonen, la oss redigere dataene til filen.

I forrige kode, som du kan se, viser vi filen vår, men det var ingen data i den filen, så her legger vi til noen data i form av tekst. Deretter prøver vi å vise disse dataene. Først skriver vi bibliotekene våre. Disse bibliotekene hjelper oss med å ringe funksjoner for å utføre noen handlinger i stedet for en kompleks kode eller algoritmer for å gjøre noen komplisert funksjon i alle kodefelt. Disse bibliotekene var og . Deretter legger vi til navneområder. Før vi starter koden, påkaller vi Main () -funksjonen fordi vi må skrive all vår kode i denne funksjonen. I hovedfunksjonen () var det første vi gjorde å initialisere filen ved å bruke vår OfStream () -funksjon.

Deretter sender vi tekstfilen vår til denne filvariabelen ved å kalle Open () -funksjonen. Når vi kaller denne funksjonen, gjorde vi ting. Først sender vi tekstfilen vår til filvariabelen samt åpner tekstfilen. I neste linje legger vi til noen tekstdata i tekstfilen som vi åpnet tidligere. Etter å ha lagt dataene, lukker vi filen vår ved å legge til lukk () -funksjonen med tekstfilvariabelen. Her initialiserte vi en streng. Hensikten med denne strengen er å få dataene fra filen som vi oppretter og oppdaterer ovenfor. Så vi kaller vår IFstream () -funksjon som er ansvarlig for å vise dataene som er i form av tekst i filen, så vel som ved å bruke denne funksjonen, vi initialiserer også en annen filvariabel og gir tekstfilen vår til denne filvariabelen.

Nå viser vi dataene. Så for dette formålet bruker vi en 'mens' loop. Vi kaller getline () -funksjonen for å hente linjene fra tekstfilen vår som vi passerer i parametrene for denne funksjonen. I denne sløyfen bruker vi 'cout' for å skrive ut strengen som vi passerer i getline () -funksjonen. Når skjermen er fullført, avsluttes sløyfen etter å ha lukket filen ved å kalle lukk () -funksjonen med tekstfilen vår.

Konklusjon

I den første delen av denne artikkelen diskuterte vi hvilken filhåndtering på C ++ programmeringsspråket som involverer. Vi snakket også om den aktuelle metoden for å administrere filer og filstrømsklassenes funksjoner. OfStream () -metoden har da blitt brukt i en rekke programmer som vi har implementert. I det første programmet er det opprettet en fil. I neste tilfelle skrives innholdet til filen. Deretter bestemmer vi om filen er tom. Vi må oppdatere filen på slutten.