Problem mit Stream
-
Moin,
ich möchte in C++ eine Datei einlesen und die auf der Konsole ausgeben, doch irgendwie erhalte ich Fehlermeldungen vom Compiler. Kann mir bitte jemand weiterhelfen?
Der Code:
#include <cstdlib> #include <iostream> #include <string> #include <fstream> using namespace std; int main(int argc, char *argv[]) { ofstream stream; string file; cout << "Trage die Datei ein: "; cin >> file; stream.open(file); // Hier der Fehler if(!stream) { cout << "\a" << "Fehler!" << endl; return false; } // Einlesen der Datei ... stream.close(); system("PAUSE"); return EXIT_SUCCESS; }
-
Ich denke ich sehe den Fehler, werde ihn dir aber vorenthalten, aus dem folgenden Grund:
Du sagst uns auch die Fehlermeldung nicht :pIch geb dir aber ein paar Tipps, weil ich jetzt nicht ganz so fies sein will:
1. Es gibt keine implizite Konvertierung zwischenchar const*undstd::string
2. Vielleicht findest du aber über die Forumsuche oder http://www.cplusplus.com/reference/ eine Lösung.Grüssli
-
ich bin mal ein spielverderber

stream.open( file.c_str() );open erwartet einen const char*
du übergibst einen std::string
das c_str gibt einfach den string als const char* zurück
-
Skym0sh0 schrieb:
ich bin mal ein spielverderber

Ich möchte das nur mal korrigieren. Es geht hier nicht um ein Spiel, sondern darum, dass der Fragestellende ohne Umwege lernt, dass man die Fehlermeldung so exakt wie möglich anfügt. Sonst läuft man Gefahr, dass er beim nächsten Mal wieder die Fehlermeldung vergisst.
Grüssli