ifstream
-
Hallo,
Ich möchte Werte aus mehreren Files ausgeben. Dazu habe ich einen ifstream definiert, den ich für zwei Files benutzen möchte. Beim ersten funktionert es wunderbar, beim zweiten File geht es jedoch nicht mehr. Ist es überhaupt möglich den selben Stream für mehrere Files zu verwenden?ifstream file; char temp[255]; file.open("text1.txt",ios::in); while(!file.eof()) { file >> temp; cout << temp<<endl; } file.close(); file.open("text2.txt",ios::in); while(!file.eof()) { file >> temp; cout << temp<<endl; } file.close();
-
Was genau funktioniert denn nicht? Hast du schon mal mit dem Debugger geprüft ob er überhaupt in die Schleife geht? Bzw. was genau schief läuft?
-junix
-
Ja er geht in die Schleife und gibt mir die letzte Zeile vom File text1.txt aus.
-
ich glaub junix meinte die 2te
-
Verfügt file2 überhaupt über Inhalt?
-
Ja text2.txt verfügt über einen Inhalt.
Den Inhalt des ersten Files wird korrekt ausgegeben.
Vom zweiten leider gar nichts, bloss noch einmal die letzte Zeile vom File 1.
Benutze ich auf File2 einen anderen Stream als auf file1 funktioniert es. Wieso kann ich nicht den selben Stream auf beide Files anwenden???
-
Weil der stream anscheinend eof nicht selbst zurücksetzt beim close.
Wenn du aber eine möglichkeit findest wie du eof manuell 'clearen' kannst sollte es gehen.
-
Hat jemand ne ahnung, wie ich den manuell clearen kann?
-
...
file.clear();
-
Funktioniert danke schön.