Ifstream vide après ouverture
Bonjour,
je récupère un code C++ assez simple qui ouvre un fichier et le met dans un buffer pour le parser ensuite. Cependant, de temps en temps, il ne fonctionne pas et génère une exception "basic_ios::clear" à l'ouverture (il semble que c'est lorsque le fichier a un ".CSV" a la fin mais je trouve ça louche). Ce fichier existe bien, n'est pas vide et a tous les droits en lecture.
J'ai repris le code en me basant sur l'exemple de la FAQ mais le probleme persiste...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| std:ifstream csvFile;
csvFile.exceptions ( ifstream::eofbit | ifstream::failbit | ifstream::badbit );
cout << "Open File " << iDirectory.c_str() << endl;
try{
csvFile.open(iDirectory.c_str());
}
catch (ifstream::failure e)
{
cout << "Exception opening/reading file " << e.what() << endl;
}
// get length of file:
csvFile.seekg (0, ios::end);
length = csvFile.tellg();
cout << "Length " << length << endl;
// ... |
Citation:
Open File /FULL_PATH/babar.CSV
Exception opening/reading file basic_ios::clear
Length 4294967295
Quand le test marche, on a :
Citation:
Open File /FULL_PATH/babar
Length 367
...
Je suis un peu rouillé en C++... Quelqu'un aurait il une piste (ou la solution :roll:) ?
Merci.