Abdujaparov
26-09-2006, 21:04
Salve a tutti, ho scritto un metodo per la lettura da file, il metodo fa quello che deve fare però il goodbit ed il failbit sono settati a true e non capisco quale errore si possa riscontrare.
Il metodo è così composto:
void CaricaFile(char *nomefile){
ifstream file;
file.open(nomefile);
if(!file){
cout<<"Problemi nell'apertura del file"<<endl;
return;
}
char alfa[350];
while(file.getline(alfa, 350)){
char beta[350];
file.getline(beta, 350);
cout<<alfa<<", "<<beta<<endl;
}
file.close();
if(!file.good())
cout<<"Problemi nella chiusura del file"<<endl;
}
Cioè mi viene sempre stampata la stringa "Problemi nella chiusura del file", il file aperto è un semplice file di testo così composto:
giuseppe
444444444
andrea
51616166
luigi migliavacca
564654916196
.
.
.
.
.
.
Le informazioni mi vengono lette correttamente in ogni caso, anche se scrivo un altro file di testo le informazioni mi vengono stampate correttamente però il bit good è sempre false, perchè?
E' normale? Per verificare che non ci siano stati errori in lettura devo usare il metodo good?
Grazie, ciao ciao.
Il metodo è così composto:
void CaricaFile(char *nomefile){
ifstream file;
file.open(nomefile);
if(!file){
cout<<"Problemi nell'apertura del file"<<endl;
return;
}
char alfa[350];
while(file.getline(alfa, 350)){
char beta[350];
file.getline(beta, 350);
cout<<alfa<<", "<<beta<<endl;
}
file.close();
if(!file.good())
cout<<"Problemi nella chiusura del file"<<endl;
}
Cioè mi viene sempre stampata la stringa "Problemi nella chiusura del file", il file aperto è un semplice file di testo così composto:
giuseppe
444444444
andrea
51616166
luigi migliavacca
564654916196
.
.
.
.
.
.
Le informazioni mi vengono lette correttamente in ogni caso, anche se scrivo un altro file di testo le informazioni mi vengono stampate correttamente però il bit good è sempre false, perchè?
E' normale? Per verificare che non ci siano stati errori in lettura devo usare il metodo good?
Grazie, ciao ciao.