Bonjour à tous.
J'ai des problèmes pour lire dans un fichier, il ne le trouve pas.
J'effectue une compilation avec la commande "make" depuis mon dossier Equadiff.comp , et au même que celui là, j'ai le dossier Equadiff, dans ce dernier, j'ai le programme principal "main.cc" + divers fichiers à lire + un dossier "src" avec des classes/fonctions en .h et .cc
J'ai besoin de mettre des arguments quand j'exécute le main, je mets les noms de fichiers sans extension, dans ma fonction de lecture "read", je rajoute l'extension, mais malheuresment, il ne le trouve pas, voici mon code de fonction de lecture:
Le nom de fichier à lire correspond à "filename", tandis que "f_files" me servira à récupérer d'autres noms de fichiers qui sont écrits dans "filename".
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 void read_file(double& tol, int &N0, double &tf, string & DP, int &Nmax, int &N_f,string &filename, char** &f_files){ //pour lire dans un fichier char line[80]; cout<<"fichier sans extension : "<<filename<<endl; filename=filename+".mstz"; ifstream file(filename.c_str()); if(file.fail()) { cout<<"fichier "<<filename<<" inexistant\n"; exit(0); } if(!file) { cout<<"erreur d'ouverture du fichier "<<filename<<"\n"; exit(0); } file.getline(line,80,'\n');std::cout<<line<<'\n'; file>>tol; file.getline(line,80,'\n'); cout<<"tol = "<<tol<<endl; }
Voici qu'il m'affiche:
fichier sans extension : exponentielle
fichier exponentielle.mstz inexistant
Merci de m'aider.
Partager