Lecture de plusieurs fichiers
Bonjour,
je rencontre un problème étrange (mais probablement une erreur bete dans mon code...):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
int readIndexfile(char* IndexesPath){
vector <string> filename;
WIN32_FIND_DATA File;
HANDLE hSearch;
//d'abord je recupere les noms des fichiers qui m'interessent dans le path donne en parametre
string searchString = IndexesPath + string("myfile*.txt");
hSearch = FindFirstFile(searchString.c_str(), &File);
do {
filename.push_back(File.cFileName);
} while (FindNextFile(hSearch, &File));
FindClose(hSearch);
string line;
ifstream f;
// puis je lis les fichiers ligne par ligne
for (int i = 0 ; i < filename.size() ; i++){
string completeFileName = IndexesPath + filename[i];
// a ce niveau j'ai bien le bon chemin vers le fichier que je veux ouvrir
f.open(completeFileName.c_str());
getline(f, line);
while (getline(f, line)){
}
f.close();
}
return 0;
}
int main() {
char * IndexesPath = "C:/MyPath/";
readIndexfile(IndexesPath);
return 0;
} |
Ce code compile, mais lorsque je l'execute, il se contente d'ouvrir (et donc de lire) uniquement le premier fichier de la boucle. Pourtant f est bien fermé.
qqu aurait une idée du pourquoi du comment?
Je suis sur "Microsoft Visual C++ 6.0" sous windows 2000 pro.
Merci pour tte suggestion!