gtkmm FileChooserDialog Datei öffnen Problem
-
Hallo Leute,
ich habe da mal eine wahrscheinlich simple Frage für die ich aber irgendwie keine Lösund finde. Und zwar möchte ich den FileChooserDialog benutzen, was auch funktioniert, denn ich kann im FileBrowser mein File ausfählen,aber dann kommt mein Problem ...
void window1::on___ffnen1_activate(){ Gtk::FileChooserDialog dialog("Datei öffnen",Gtk::FILE_CHOOSER_ACTION_OPEN); dialog.set_transient_for(*this); //Antwort Buttons angeben dialog.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL); //cancel button dialog.add_button("Auswählen", Gtk::RESPONSE_OK); int result = dialog.run(); switch(result ){ case(Gtk::RESPONSE_OK):{ std::string Fname; Fname = dialog.get_filename(); //std::cout << Fname << std::endl; std::ofstream Ofile; Ofile.open(Fname, std::ios::in | std::ios::binary); //Hier ist der Fehler } } }
Das erzeugt die Fehlermeldung:
window1.cc:71: error: no matching function for call to 'std::basic_ofstream<char, std::char_traits<char> >::open(std::string&, std::_Ios_Openmode)' /usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/fstream:626: note: candidates are: void std::basic_ofstream<_CharT, _Traits>::open(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
Also ich möchte den std::string Fname an ein Fileopen weitergeben, was aber nicht funktioniert, da ich für open ja ein char übergeben muss.
Den Fehler verstehe ich, aber ich habe trotzdem keine Lösung, wie kann ich denn eine z.B. Textdatei, die ich mit dem FileChooser ausgewählt habe öffnen, um sie dann zu untersuchen ?
Für jede Hilfe wäre ich sehr froh.Danke, Tobias.
-
Diese Frage gehört eigentlich nicht hier her und das Topic ist auch falsch gewählt da du kein Problem mit GTKmm hast sondern mit der Standard C++ Library.
Du musst einfach nur:
Fname.c_str()übergeben.
Ofile.open(Fname.c_str(), std::ios::in | std::ios::binary);
BR
-
Hallo evilissimo,
ich danke dir sehr für den Tipp jetzt habe ich durch deine Hilfe auch ein gutes Tutorial gefunden was das mit den Strings sehr genau beschreibt. Ich bin in der Lernphase und in meinem Buch stand über die Strings leider zu wenig.
Ich dachte es ist vieleicht ein Prob mit gtkmm.Grüße, Tobias.