ifstream infile("test") was anderes als ifstream infile(string) ?



  • Hallo!
    Habe folgendes Problem:
    wenn ich

    ifstream 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!


Log in to reply