000
12.11.2015, 09:42 Uhr
JLEITNER
|
Ich schreibe ein Programm, bei dem eine Datei eingelesen werden soll. Wenn die einzulesende Datei noch nicht existiert, soll ein diesbezüglicher Hinweis aufscheinen, sodass der Nutzer die entsprechende Datei erstellen bzw. an die richtige Stelle kopieren kann und das Programm dann fortgesetzt wird.
Zur Zeit sieht der relevante Teil meines Quellcodes so aus:
C++: |
cout<<"Warte auf "<<mitzaehler<<".txt!"<<endl; system("PAUSE"); ostringstream iss; iss << mitzaehler; string dateiname; dateiname = iss.str() + ".txt"; ifstream quelldatei; quelldatei.open(dateiname.c_str()); while (quelldatei.fail()) { cout<<"Warte auf "<<mitzaehler<<".txt!"<<endl; system("PAUSE"); quelldatei.open(dateiname.c_str());
}
|
Dabei ist die Variable mitzaehler vom Typ int. Wenn die einzulesende Datei von Anfang vorhanden ist, funktioniert alles einwandfrei. Ist dies aber nicht der Fall, so bleibe ich immer in der while-Schleife hängen, selbst wenn die ich die einzulesende Datei mittlerweile eingefügt/erstellt habe und damit meiner Meinung nach quelldatei.fail() nicht mehr erfüllt sein sollte. Weiß jemand eine - am besten möglichst einfache Lösung - um das Gewünschte zu realisieren, sodass man solange ein Hinweis erscheint, bis die gewünschte Datei vorhanden ist und diese dann eingelesen wird.
Vielen Dank für etwaige Antworten! Johannes Leitner
----- Edit: cpp-Tags eingefügt. Dieser Post wurde am 12.11.2015 um 23:32 Uhr von Hans editiert. |