Free C ++

Free C ++
La gestione dei file è una delle parti essenziali di tutti i linguaggi di programmazione. Scrivere un codice piccolo e semplice, che richiede solo piccoli input e produce piccoli output, può essere gestita facilmente sul terminale. Ma quando si tratta di dare un enorme input e anche l'output prodotto sarà enorme, i file diventano necessari per usare. La gestione dei file offre modi efficienti di programmazione con enormi dati di input e output. Inoltre, non è necessario inserire lo stesso input ancora e ancora e puoi salvare l'output del programma per un uso successivo. Qui impareremo a leggere i dati da un file utilizzando il Fread () funzione.

Qual è la funzione fread in c++?

IL Fread La funzione è fornita dal cstdio.Biblioteca H. Il cstdio.Il file di intestazione h contiene tutte le funzioni che possono essere utilizzate in file, i.e., Leggi, scrivi, ecc. IL Fread () La funzione viene utilizzata con i file per leggere un blocco di dati da un flusso di input. Legge l'array di oggetti di conteggio, ogni oggetto di byte di dimensioni dal flusso di input e lo memorizza nel flusso di output specificato dal puntatore. I byte totali letto dalla funzione fread sono la dimensione*conta. Restituisce tutti gli elementi letti correttamente.

Sintassi della funzione Fread

IL Fread La funzione richiede quattro parametri: P, S, C e ST. La size_t è un tipo intero non firmato che definisce il tipo di variabile. Il parametro "P" si riferisce al blocco di memoria di almeno la dimensione del byte di conteggio S*C convertito in un vuoto*. Il parametro 's' contiene la dimensione di ciascun elemento da leggere. Il flusso di file, da cui leggeremo i dati, è indicato dall'opzione "ST". Restituisce gli elementi che vengono letti correttamente e in caso di errore, gli elementi di ritorno potrebbero essere inferiori al conteggio. Gli esempi indicati di seguito illustreranno il funzionamento del Fread funzionare meglio.

Esempio 1:
Nel primo esempio di un articolo di Fread, creeremo un file di testo sul desktop e scriveremo alcuni dati in esso. La funzione Fread verrà quindi utilizzata per leggere i dati dal file. Vedi il codice qui sotto:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

File* f;
Char B [100];
f = fopen ("Test.txt "," rb ");
Mentre (!feudo))

Fread (B, sizeof (b), 1, f);
cout << b;

restituzione 0;

Due file di intestazione, bit/STDC++.h e cstdio sono inclusi nel programma all'inizio. Quando si scrive un programma C ++, i file di intestazione essenziali devono essere inclusi in modo che le loro utility possano essere utilizzate nel programma.

Ad esempio, il CSTDIO trasporta tutte le funzioni standard che possono funzionare su file come lettura, scrittura e ecc. Allo stesso modo, i bit/stdc++.H detiene tutte le librerie standard. Quindi, quando includi questo, hai incluso tutte le librerie standard di C ++ nel programma. L'utilizzo di Namespace STD "è una libreria standard che consente all'utente di utilizzare tutte le funzioni della libreria C ++ standard. Andando avanti, il codice completo è scritto nella funzione principale () in cui si verificano tutta l'esecuzione e il lavoro.

Il puntatore del file 'F' è definito con l'istruzione File* F che indicherà il blocco di memoria. Un array 'B' di dimensioni 100 e tipo char è definito per contenere le dimensioni dei dati che verranno letti dal flusso.

IL fopen () La funzione apre il file e prende almeno due argomenti, il nome del file e la modalità del file. Lancia un errore se il file non esiste ancora o non può essere trovato; altrimenti apri il file esistente. La modalità file (leggi, scrittura, aggiunta ed ecc.) si riferisce alla modalità in cui il file deve essere aperto. Il nome del file si riferisce al file che deve essere letto. Qui viene fornita la modalità "RB" che indica che il file dovrebbe aprire nel formato binario per la lettura. Durante l'apertura del file, è necessario fornire il percorso completo del file in cui esiste. Ad esempio, il tuo file è presente nel documento, quindi è necessario aggiungere il percorso completo ai documenti come questo: "C: \\ Users \\\\ Documento \\".

Successivamente, abbiamo definito un ciclo "mentre" itera attraverso ciascun elemento nel file e termina solo quando trova l'EOF (fine del file). Nel loop "mentre" viene utilizzata la funzione Fread e tutti e quattro i parametri vengono passati per la lettura dal file. L'istruzione Cout stamperà i dati presenti nel file sul terminale.

Infine, viene utilizzata l'istruzione Return 0 che indica: Non restituire nulla in caso di esecuzione di successo. Premere il pulsante F11 sulla tastiera o fare clic sull'icona di esecuzione sulla barra degli strumenti del software Dev C ++ per eseguire il programma. Ora, vediamo l'output di seguito:

Esempio 2:
Dimostriamo il funzionamento della funzione Fread quando la dimensione del file è zero. Vedi il codice qui sotto:

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

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

Ecco l'output:

Esempio 3:
Come abbiamo visto alcuni esempi semplici e facili, lavoriamo con un esempio complicato. Vedi il codice qui sotto:

#includere
enum size = 5;
int main (vuoto)

doppio a [size] = 10, 20, 50, 70, 100;
File *f = fopen ("c: \\ utenti \\" nome di sistema "\\ desktop \\ test.bin "," wb ");
fwrite (a, sizeof *a, dimensioni, f);
fclose (f);
doppio b [dimensione];
f = fopen ("c: \\ utenti \\” nome di sistema ”\\ desktop \\ test.bin "," rb ");
size_t r = fread (b, sizeof *b, dimensioni, f);
if (r == size)
put ("Array content =");
per (int n = 0; n < SIZE; n++)
printf ("%f", b [n]);

fclose (f);

Qui, abbiamo dichiarato un "enum" in modo che la "dimensione" possa essere usata in modo più conveniente. Modificando il valore di una "dimensione" variabile, cambia nel programma completo.

Viene creata una matrice di tipo doppio contenente i dati che verranno scritti nel file. fopen () La funzione apre un file binario in modalità di scrittura 'WB'. Se il file binario esiste già, lo apre in modalità di scrittura; Altrimenti, crea un nuovo file con il nome file fornito. IL fwrite () La funzione è Castoff per scrivere il contenuto dell'array in un file. IL fwrite () La funzione prende gli stessi parametri di Fread () funzione. Dopo aver scritto i dati nel file, il fclose () La funzione viene utilizzata per chiudere il file in modo che nel file non sia possibile apportare modifiche non necessarie o involontarie.

Il resto della funzione Fread è lo stesso che abbiamo usato negli esempi precedenti. Vediamo il risultato di questo codice:

Come puoi vedere, i dati dell'array vengono scritti correttamente nel file.

Conclusione

In questa guida, abbiamo avuto una panoramica di Fread () funzione. Abbiamo imparato a usare il Fread Funzionare con file per la lettura dei dati. Abbiamo dato la dimostrazione pratica per tre diversi modi per impiegare il Fread funzione nel linguaggio di programmazione C ++.