PDA

View Full Version : C++ lettura e scrittura su file


Abdujaparov
22-09-2006, 22:19
Ho scritto due funzioni una che prende una lista e la scrive su un file, ed una che prende dati da un file e li inserisce in una lista.
Ora, se non ho letto male, queste operazioni non lanciano eccezioni e devo essere io a gestire manualmente gli errori controllando degli indicatori. Come posso gestire gli errori? Quali sono gli indicatori e come posso accedervi?

Per esempio in questa funzione, che legge da file ed inserisce la stringa in una lista:

void FileAp(char *nomefile){
ifstream fin;
fin.open(nomefile);//qua come verifico che il file sia stato aperto?

char pippo[60];

while(fin.getline(pippo,60)){//sul getline devo fare qualche contollo?
lista.push_back(pippo);
}
fin.close();//Qua devo fare qualche controllo?
}


Sulla open della funzione in cui scrivo sul file (se il file non c'è lo creo) che controllo devo fare? Simile a quello della open per aprire un file che deve esistere? Per ogni scrittura devo fare un controllo?

Grazie, ciao ciao.

andbin
23-09-2006, 00:18
fin.open(nomefile);//qua come verifico che il file sia stato aperto?if (!fin)
{
/* errore */
}

while(fin.getline(pippo,60)){//sul getline devo fare qualche contollo?il metodo getline ritorna un istream& quindi è inutile testarlo. Usa i metodi eof() e fail().

fin.close();//Qua devo fare qualche controllo?Se vuoi, sempre fail().

http://www.cplusplus.com/ref/iostream/ifstream/