Fread C ++

Fread C ++
Filhåndtering er en av de essensielle delene av alle programmeringsspråk. Å skrive liten og enkel kode, som bare trenger liten inngang og produserer liten utgang, kan håndteres enkelt på terminalen. Men når det gjelder å gi et stort innspill og utdataene som produseres vil også være enorm, blir filer nødvendige å bruke. Filhåndtering tilbyr effektive måter å programmering med enorme input og outputdata. Dessuten trenger du ikke å legge inn den samme inngangen igjen og igjen, og du kan lagre utdataene fra programmet for senere bruk. Her lærer vi å lese data fra en fil ved å bruke FREAD () funksjon.

Hva er den friske funksjonen i C++?

De FREAD Funksjon leveres av CSTDIO.H bibliotek. CSTDIO.H headerfil inneholder alle funksjonene som kan brukes på fil, i.e., Les, skriv osv. De FREAD () Funksjon brukes med filer for å lese en blokk med data fra en inngangsstrøm. Den leser utvalget av telleobjekter, hvert objekt med størrelse byte fra inngangsstrømmen og lagrer den i utgangsstrømmen som er spesifisert av pekeren. Totalt byte som er lest av Fread -funksjonen er størrelse*telling. Den returnerer alle elementene som leses vellykket.

Syntaks av Fread -funksjon

De FREAD Funksjon tar fire parametere: P, S, C og ST. Størrelsen_t er en usignert heltallstype som definerer variabel -typen. 'P' -parameteren refererer til minneblokken til minst s*c Count Byte -størrelse konvertert til et tomrom*. 'S' -parameteren har størrelsen på hvert element som skal leses. Filstrømmen, som vi skal lese dataene, er indikert av "ST" -alternativet. Det returnerer elementene som leses vellykket, og i tilfelle feil, kan returelementene være mindre enn tellingen. Eksemplene gitt nedenfor vil illustrere arbeidet med FREAD funksjon bedre.

Eksempel 1:
I det første eksemplet med en Fread -artikkel, oppretter vi en tekstfil på skrivebordet og skriver noen data i den. Fread -funksjonen vil da bli brukt til å lese dataene fra filen. Se koden nedenfor:

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

Fil* f;
Char B [100];
f = fopen ("test.txt "," rb ");
samtidig som (!Feof (f))

Fread (B, SizeOf (B), 1, F);
cout << b;

retur 0;

To overskriftsfiler, biter/STDC++.H, og CSTDIO er inkludert i programmet i starten. Når du skriver et C ++ -program, må de essensielle overskriftsfilene inkluderes slik at verktøyene deres kan brukes i programmet.

For eksempel bærer CSTDIO alle standardfunksjonene som kan fungere på filer som lesing, skrive og etc. Tilsvarende bitene/STDC++.H har alle standardbibliotekene. Så når du inkluderer dette, har du inkludert alle standardbibliotekene til C ++ i programmet. 'Bruke namespace std' er et standardbibliotek som lar brukeren bruke alle funksjonene til standard C ++ -biblioteket. Fremover er den komplette koden skrevet i Main () -funksjonen der all utførelse og arbeid skjer.

Filpekeren 'F' er definert med fil* F -setning som vil peke på minneblokken. En matrise 'B' av størrelse 100 og Type Char er definert for å inneholde størrelsen på dataene som vil bli lest fra strømmen.

De fopen () Funksjonen åpner filen og tar minst to argumenter, filnavnet og modus for filen. Den kaster en feil hvis filen ikke eksisterer ennå, eller ikke kan bli funnet; ellers bare åpne den eksisterende filen. Filmodus (les, skriv, vedlegg og etc.) refererer til modus som filen må åpnes. Filnavnet refererer til filen som må leses. Her er 'RB' -modus gitt som indikerer at filen skal åpne i det binære formatet for lesing. Mens du åpner filen, må du oppgi den komplette banen til filen der den eksisterer. For eksempel er filen din til stede i dokumentet, slik at du må legge hele veien til dokumentene som dette: “C: \\ brukere \\\\ Document \\”.

Deretter definerte vi en 'mens' sløyfe som itererer gjennom hvert element i filen og avsluttes bare når den finner EOF (slutten av filen). I 'mens' sløyfen brukes den frie funksjonen, og alle fire parametrene sendes for lesing fra filen. COUT -setningen vil skrive ut dataene som er til stede i filen på terminalen.

Til slutt brukes Return 0 -uttalelsen som indikerer: Ikke returner noe i tilfelle vellykket utførelse. Trykk på F11 -knappen på tastaturet eller klikk på utførelsesikonet på Dev C ++ programvareverktøylinjen for å utføre programmet. La oss nå se utdataene nedenfor:

Eksempel 2:
La oss demonstrere arbeidet med Fread -funksjonen når filstørrelsen er null. Se koden nedenfor:

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

Fil* f;
Char B [100];
f = fopen ("test.txt "," rb ");
cout<<"Size of the File = "<retur 0;

Her er utgangen:

Eksempel 3:
Som vi har sett noen enkle og enkle eksempler, la oss jobbe med et komplisert eksempel. Se koden nedenfor:

#inkludere
enum størrelse = 5;
Int Main (Void)

Dobbelt en [størrelse] = 10, 20, 50, 70, 100;
Fil *f = fopen ("c: \\ brukere \\" systemnavn "\\ desktop \\ testing.bin "," wb ");
fwrite (a, størrelse av *a, størrelse, f);
fClose (f);
dobbel b [størrelse];
f = fopen ("c: \\ brukere \\" systemnavn "\\ desktop \\ testing.Bin "," RB ");
størrelse_t r = Fread (B, Sizeof *B, Size, F);
if (r == størrelse)
setter ("Array Contents =");
for (int n = 0; n < SIZE; n++)
printf ("%f", b [n]);

fClose (f);

Her erklærte vi en 'enum' slik at 'størrelsen' kan brukes mer praktisk. Ved å endre verdien av en variabel 'størrelse', endres den i det komplette programmet.

Det opprettes en rekke typer dobbel som inneholder dataene som vil bli skrevet i filen. fopen () Funksjonen åpner en binær fil i skrivemodus 'WB'. Hvis den binære filen allerede eksisterer, åpner den den i skrivemodus; Ellers oppretter den en ny fil med det medfølgende filnavnet. De fwrite () Funksjonen er castoff for å skrive matriseinnholdet til en fil. De fwrite () funksjonen tar de samme parametrene som FREAD () funksjon. Etter å ha skrevet dataene i filen, fclose () Funksjon brukes til å lukke filen slik at ingen unødvendige eller utilsiktede endringer kan gjøres i filen.

Resten av Fread -funksjonen er den samme som vi brukte i tidligere eksempler. La oss se resultatet av denne koden:

Som du kan se at dataene til matrisen er skrevet i filen.

Konklusjon

I denne guiden hadde vi en oversikt over FREAD () funksjon. Vi lærte å bruke FREAD Funksjon med filer for å lese dataene. Vi ga den praktiske demonstrasjonen for tre forskjellige måter å bruke FREAD Funksjon i C ++ programmeringsspråk.