Salut!
Je tente de faire une classe "fichier" dans laquelle j'utilise une méthode "open":
"path" est l'adresse absolue du fichier.
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 #include <cstdlib> #include <iostream> #include <fstream> #include <sstream> #include <string.h> using namespace std; class fichier{ string path; fstream file; public: fichier(string s):path(s),file(NULL){} void open(){ file.open(path); } };
"open" ouvre un fichier nommé "file".
Le problème est que j'ai l'erreur suivante dûe au fait que apparement la méthode "open" de la classe "fstream" n'accepte en argument que des chaines constantes:
Comment contourner le problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 22 C:\Documents and Settings\Propriétaire\Bureau\main_code.cpp no matching function for call to `std::basic_fstream<char, std::char_traits<char> >::open(std::string&)' note C:\Program Files\Dev-Cpp\include\c++\3.4.2\fstream:819 candidates are: void std::basic_fstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
Existe t'il une autre méthode pour ouvrir un fichier avec une chaîne indéterminée à la compilation (en C++ pur,sans fopen...)?
Merci de vos réponses.
Partager