name textdatei



  • Hi,
    ich habe folgendes Problem, ich möchte eine Textdatei mit einem vom Benutzer ausgewählten Namen erstellen.
    Zum Speichern der Textdatei benutze ich ofstream.
    Mein Problem: Ich weiß zwar, wie ich eine Textdatei mit einem von mir vorher festgelegtem Namen speichern kann, nähmlich mit

    ofstream s("Textdatei.txt");
    

    Ich weiß jedoch nicht, wie ich den Namen per Variable vom Benutzer eingeben kann.
    Ich lasse den Benutzer den Namen per String festlegen und schreibe

    Name = Name + ".txt";
    ofstream s(Name);
    

    oder

    ofstream s(Name + ".txt");
    

    Doch bei beiden Versionen gibt er mir den Fehler:

    *'__thiscall std::basic_ifstream<char,struct std::char_traits<char> >::std::basic_ifstream<char,struct std::char_traits<char> >(const char *,int)' : Konvertierung
    des Parameters 1 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'const char *' nicht moeglich
    Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
    *

    Wie kann ich denn dann den Textdateinamen mithilfer einer Stringvariablen beliebig festlegen? 😕



  • nimm ein char

    char file[20]
    ofstream s(file);
    s.close();
    

    ich bin mir aber nicht ganz sicher



  • ofstream s((Name + ".txt").c_str());
    


  • Danke, finix.
    Klappt!!!


Anmelden zum Antworten