Obiettivo: Gestire la lettura e la scrittura su file utilizzando le relative funzioni c++.
Teoria:
Il fatto che un file abbia una vita indipendente dal programma utilizzato per la sua creazione/modifica/lettura permette l’implementazione di algoritmi complessi che prevedono l’impiego della memoria permanente e non solo della memoria volatile (tipicamente impiegata per l’elaborazione dei dati).
Le operazioni tipicamente effettuate da un programma su uno specifico file sono 4. Nel dettaglio:
- Apertura: Il programma comunica al sistema operativo la necessità di accedere ad uno specifico file.
- Chiusura: Il programma comunica al sistema operativo che non ha più necessità di accedere ad uno specifico file.
- Apertura: Il programma richiede dei dati dal file come input.
- Chiusura: Il programma intende scrivere dei dati in un file come output.
Attenzione: Un programma non può leggere o scrivere dei dati se prima non ha aperto il file in questione.
La libreria tipicamente utilizzata per la gestione dei file è la fstream (file con accesso contemporaneo sia in lettura che in scrittura).
Codice:
#include <fstream> | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
char c; // si crea la variabile c i tipo chat | |
ofstream fout("Scrittura.txt"); // si crea fout e si apre Scrittura.txt | |
cin >> c; // si inserisce un carattere | |
while(c!='0') // si legge un carattere fino all'inserimento del carattere 0 | |
{ | |
cin >> c; // si inserisce un carattere | |
fout << c; // si scrivere il carattere letto sul file | |
} | |
fout.close(); // si chiude il file | |
} |
#include <fstream> | |
#include <iostream> | |
using namespace std; | |
int main() | |
{ | |
char c; // si crea la variabile c i tipo char | |
ifstream fin("Lettura.txt"); // si crea fin e si apre Lettura.txt | |
while(fin >> c) // si legge un carattere fino alla fine del file | |
{ | |
cout << c; // stampa sulla console il contenuto di c | |
} | |
fin.close(); // si chiude il file | |
} |