un file è un insieme di dati memorizzati su disco
Esso può essere considerato un insieme di struct memorizzato su memoria
Le operazioni che riguardano un file sono quattro:
- apertura
- chiusura
- lettura
- scrittura
la lettura si indica con input, la scrittura con output.
Esistono due tipi di file:
- file di testo che contengono caratteri e si possono aprire con i normali editor di testo
- file binari che contengono sequenze di bit e si possono aprire solo con i programmi appositi
Un programma CPP per scrivere o leggere i file prevede le seguenti fasi
1) definire una variabile di tipo fstream, ifstream, ofstream
2) apertura del file
3) operazioni da fare sul file: modifica, lettura, scrittura
4) chiusura del file
le funzioni che si usano per manipolare i file sono
- apertura open () sia file di testo che binari
- scrittura << solo file di testo
- scrittura write () solo file binari
- lettura >> solo file di testo
- lettura read () solo file binari
- chiusura close () file di testo e binari
-- Come aprire un file
string prodotti;
ofstream fout ("spesa.dat");
cout<<" inserisci i prodotti"<<endl;
cout<<" crea la lista della spesa (per terminare clicca ctrl+c) "<<endl;
while(getline(cin,prodotti))
{
fout<<prodotti<<endl;
}
fout.close();
--Per leggerlo
string prodotti;
ifstream fin ("spesa.dat");
while (getline(fin,prodotti))
{
cout<<prodotti<<endl;
}
fin.close();
--Per leggerlo senza modifiche
string prodotti;
ifstream fin ("spesa.dat", ios::app);
cout<<" inserimento prodotti"<<endl;
cout<<" come prima ctrl+C per terminare \n"<<endl;
while(getline(fin,prodotti))
{
cout<<prodotti<<endl;
}
fin.close();
-- Per modificarlo (aggiungendo altro)
string prodotti;
ofstream fout ("spesa.dat", ios::app);
cout<<" inserimento altri prodotti "<<endl;
cout<<" come prima ctrl+C per terminare \n"<<endl;
cout << "inserisci i prodotti" << endl;
while(getline(cin,prodotti))
{
fout<<prodotti<<endl;
}
fout.close();