PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CPP ifstream - Prüfung Eingabe


Frank
2003-11-21, 09:20:46
Habe ein kleines Problem was ich nicht ganz verstehe:

ich will prüfen ob eine Datei, die ich öffnen möchte, existiert.


... m_eingabe_datei(const char *name, ...
ifstream fin(name);
if (!fin)
{
cerr...
return ...;
}
...

Nur scheint das nur abzubrechen wenn ich direkt einen falschen Wert eingebe - aber nicht einen falschen Wert der Funktion übergebe.
Weiß jemand wieso? :???:

zeckensack
2003-11-22, 04:55:33
Ich verstehe diese Frage nicht so ganz:Original geschrieben von Frank
Nur scheint das nur abzubrechen wenn ich direkt einen falschen Wert eingebe - aber nicht einen falschen Wert der Funktion übergebe.

Davon mal abgesehen ... ich bin zwar keine Experte in Sache C++ Streams, aber ich glaube der Operator ! ist hier fehl am Platze.

Versuch mal... m_eingabe_datei(const char *name, ...
ifstream fin(name);
if (!fin.is_open())
{
cerr...
return ...;
}
...

Punkt zwei:
Es könnte sein (siehe Disclaimer oben), daß ifstream automatisch eine Datei erzeugt, wenn sie nicht vorhanden ist. In dem Fall würde die Funktion nur an ungültigen Dateinamen scheitern.
ifstream fin(name,ios::in|ios::nocreate);

Gast
2003-11-22, 10:03:54
http://forum.c-plusplus.de

Frank
2003-11-23, 20:10:19
Vielen Dank zeckensack.

Dank dir geht es jetzt :)