ifstream Problem
-
Hallo,
ich habe ein Problem mit ifstream beim öffnen von Dateien.
Hier ein Auszug aus dem Code:#include <fstream.h> #include <iostream.h> void main(){ char *file=("E:\\Hallo.txt"); ifstream f(file); if(!f) cout<<"error"<<endl; }Mein Problem ist nun folgendes, selbst wenn die Datei nicht existiert wird kein Fehler gemldet, sondern ein Leeres File erstellt.
Wie schaffe ich es, daß Error ausgegeben wird, anstatt ein neues File zu erstellen?Gruß Alex
-
Hi,
1. Du hast in die falsche Rubrik gepostet.
Hier kommen eigentlich nur Fragen über MFC oder zum Visual-* hinein.
Hier geht es um Standard C++.2. Du solltest nicht mehr schreiben: #include <fstream.h> sondern bei Standard C++ Headern das ".h" weglassen. Die erste Methode ist veraltet.
Aber dann liegt alles im Namespace std , du benötigst also noch ein
"using namespace std" nach den includes.3. Zur eigentlichen Frage:
Wenn du die ersten beiden Antworten beherzigt hast, hat sich jetzt dein Problem damit erledigt,denn in den Standardkonformen Includes ist das Default-Verhalten so, dass keine Datei erstellt wird.
Ansonsten hättest du noch ein "ios::nocreate" benötigt.Also nochmal im Stück:
#include <fstream> #include <iostream> using namespace std; int main(){ char *file=("E:\\Hallo.txt"); ifstream f(file); if(!f) cout<<"error"<<endl; return 0; }
-
für den Hinweis, es soll nicht mehr vorkommen!
Dein Vorschlag löst mein Problem, wobei ich mich für das ios::nocreate entschieden habe, da ich nicht abschätzen kann, wie sich die neue Headerdatei auf den Rest meines Programmes auswirkt.Ich wünsche noch einen schönen Abend!!
Gruß Alex