Datei öffnen geht nicht
-
Hallo ich wollte eine Datei öffnen und ausgeben, hier der Code Teil zum öffnen:
char* name; void open() { cout<<"Name: "; cin>>name; ifstream indat(name); while (indat.good()) cout<<(char)indat.get(); indat.close(); }
wenn ich es ausführe kommt
[quote="Speicherzugriffsfehler"]
Ich hab Linux hab er auch als Root versucht die Datei die ich auslessen will liegt im gleichen Ordner wie das Prog und beim Compielieren gibts keine Fehler.
-
hast du vorher speicher für "name" reserviert? das musst du machen, ansonsten wird cin versuchen, die eingabe sonstwohin* zu schreiben.
(es gibt zwar leute, die behaupten, man müsse unter linux keinen speicher reservieren... aber sprechen wir nicht weiter drüber.:D)
am besten ist, du nimmst ::std::string und dann "name.c_str()" als parameter für den ifstream-konstruktor.
----
*das willst du nicht
-
du kannst statt
char *name;
auch
char name[FILENAME_MAX+1];
schreiben.