Bonjour,
je rencontre un problème étrange (mais probablement une erreur bete dans mon code...):
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
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!
Partager