La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Apertura esplicita di un file

Presentazioni simili


Presentazione sul tema: "Apertura esplicita di un file"— Transcript della presentazione:

1 Apertura esplicita di un file
ofstream fout; fout.open(“amici.dat”, ios::out); ifstream fin; fin.open(“amici.dat”, ios::in); fout.open(“amici.dat”, ios::app);

2 Gestione errori su file
Nei programmi che utilizzano file è opportuno aggiungere opportuni controlli per eventuali errori che si possono presentare durante l’APERTURA DEL FILE: FILE NON ESISTENTE ERRORE PER UN ACCESSO NON CORRETTO ALLA MEMORIA DI MASSA

3 … Esistono due modalità
Prima modalità If(!nomestream){ cout<<“Errore nell’apertura del file ”<<endl;} Nell’esempio di lettura dell’archivio amici.dat

4 if(!fin){ cout<<“Errore nell’apertura del file ”<<endl;} else { while(fin>>nome)//legge dal file fino alla fine { cout<<nome<<endl; //scrive a video nome } fin.close(); //chiude file Return 0;

5 Seconda modalità viene usato il metodo fail() che restituisce true se si verifica un errore su file
if(nomestream.fail()){ cout<<“Errore nell’apertura del file ”<<endl;} else {…. }

6 Controllo sulla fine del file
1° metodo while (fin>>variabile) 2° metodo Uso del metodo eof()

7 Sintassi per uso eof() nomestream>> variabile while(!nomestream.eof()) {cout<<variabile<<endl; nomestream>>variabile; }

8 Gestione di una rubrica telefonica con nome e telefono attraverso un menù
Rubrica_telefonica.cpp Crea() Aggiungi() Visualizza() Ricerca (string n) la scrittura sulla rubrica avviene nome e telefono uno di seguito all’altro: archivio<<nome<<“ “<<telefono<<endl<<;

9 //rubrica.cpp #include <iostream> #include <fstream> #include <string> using namespace std; const string NOMEARCH=“rubrica.dat”; //nome fisico dichiarato come costante fstream archivio; string nome, telefono;

10 //Procedura che crea la rubrica Void crea()
archivio.open(NOMEARCH.c_str(),ios::out); cout<<“inserisci un nome *=fine):”; cin>>nome; while(nome!=“*”){ cout<<“Telefono:”; cin>>telefono; archivio<<nome<<“ “<<telefono<<endl; cout<<“inserisci un altro nome(*=fine)”; } Archivio.close();

11 esercizi Realizza la procedura :
Aggiungi() che aggiunge un nome e un telefono Visualizza() che mostra il contenuto del file Ricerca() che dato un nome lo cerca e se presente stampa il telefono


Scaricare ppt "Apertura esplicita di un file"

Presentazioni simili


Annunci Google