ifstream infile("test") was anderes als ifstream infile(string) ?
-
Hallo!
Habe folgendes Problem:
wenn ichifstream infile("test");
schreibe gehts. Aber wenn ich
string test="test"; ifstream infile(test);
schreibe kommt
Konvertierung des Parameters 1 von 'std::string' in 'const char *' nicht möglich
in der Zeile von "ifstream infile(test);"
Woran kann das liegen? Christoph
-
Das liegt an einer leichten Inkonsistenz der Standardbibliothek - ifstream erwartet den Dateinamen nicht als std::string, sondern als char* (String im C-Stil). Die Lösung lautet
ifstream infile(test.c_str());
.PS: Im neu kommenden Ansi-Standard wird das afaik behoben.
-
Danke!