Bonjour,
J'ai besoin d'une aide par rapport à une fonction que je suis en train de créer.
Je voudrais créer une fonction qui me permettent de lire plusieurs fichiers, en sachant que les fichiers ne sont dans les mêmes directories mais ont le même nom.
Les paramètre de la fonction sont:
file_name -> nom des fichiers qui doivent être lu
current_path -> partie commune du chemin pour les fichiers
subfolders -> Partie variable du chemin pour les fichiers
Ces 3 paramètres me permettent de contruire le chemin pour l'ouverture des différents fichiers.
Mon problème, lors de la compilation de mon code (voir ci-dessous) j'ai une erreur.
62 C:\Projects\Dev File\test_repertoire.cpp no matching function for call to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::string&)'
Merci par avance.
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 vector <string> function_path_read_file (string file_name, string current_path, const vector<string> &subfolders) { string input_file; string temp; for (int i =0 ; i<subfolders.size();i++) //Construction de mon chemin pour ouverture du fichier qui doit être lu temp=current_path+'/'+subfolders[i].c_str()+'/'+file_name; // le constructeur de ifstream permet d'ouvrir un fichier en lecture ifstream inputfile(temp); if ( inputfile ) // ce test échoue si le fichier n'est pas ouvert { string ligne; // variable contenant chaque ligne lue // cette boucle s'arrête dès qu'une erreur de lecture survient while (getline( inputfile, ligne ) ) { // afficher la ligne à l'écran cout << ligne << endl; } } }
David
Partager