ifstream
-
Hallo,
hab da mal ne Frage zu folgendem Programm
ifstream quelle; cout << "Dateiname :"; string quelldateiname; cin >> quelldateiname; quelle.open(Quelldateiname.c_str(),ios::binary|ios::in); if (!quelle) // muss existieren { cerr << Quelldateiname << " kann nicht geoeffnet werden!\n"; exit(-1); }
Mal angenommen ich will mit diesem Code eine Datei "test.txt" öffnen. Die Datei "test.txt" liegt im gleichen Verzeichnis wie das Programm. Trotzdem erscheint die Fehlermeldung "kann nicht geoeffnet werden!". Kann mir einer sagen welche Ursache das haben kann.
vorab schonmal vielen Danke
-
Quelldateiname sollte nicht definiert sein, da du nur quelldateiname definiert hast (Groß-/Kleinschreibung). Solltest eigentlich einen Fehler erhalten. Möglicherweise hast du die große Variante vorher definiert? Es ist dann egal, was du eingibst, da quelldateiname nicht verwendet wird.
mfG D1B
Edit: Insbesondere wenn die Fehlermeldung nicht sagt, welche Datei nicht geöffnet werden kann (wie von dir beschrieben), kannst du davon ausgehen, dass versucht wurde die Datei "" zu öffnen. Quelldateiname ist also leer.
-
Hallo,
ich hab den Fehlern gefunden. Hab mir einfach unter Windows über das Kontextmenü eine neue Textdatei erzeugt. Diese hab ich dann schließend umbenannt in test.txt. In der DOS Ebene sieht man dann den richtigen Namen test.txt.txt. hab test.txt.txt in test.txt umbenannt und es geht.