Manipulation des fichiers avec fstream.
Salut! :D
Je tente de faire une classe "fichier" dans laquelle j'utilise une méthode "open":
Code:
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);
}
}; |
"path" est l'adresse absolue du fichier.
"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:
Code:
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>] |
Comment contourner le problème?
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. :D