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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
// ...
Open File /FULL_PATH/babar.CSV
Exception opening/reading file basic_ios::clear
Length 4294967295
Quand le test marche, on a :
Open File /FULL_PATH/babar
Length 367
...
Je suis un peu rouillé en C++... Quelqu'un aurait il une piste (ou la solution ) ?

Merci.