Problem mit Ifstream / Ofstream
-
Ich probiere mit den beiden oben genannten Funktionen 2Dateien("Datei1";"Datei2") in einer void Funktion(void Öffnen) auszulesen bzw zu beschreiben:
void Öffnen()
{
ifstream Input ("Datei1.dat",ios::binary);
Input.close;
ifstream Input ("Datei2.dat",ios::binary);
Input.close;
}(nicht Orginaler Quelltext)
Jedoch spuckt der Compiler nur diese Fehlermeldung aus:
"[...]error C2374: 'Input': Neudefinition; Mehrfachinitialisierung"
Wie kann ich dies umgehen?
-
Programmierst du schon lange C++?
Du kannst im selben Block keinen Bezeichner mehrfach definieren. Such dir für den zweiten
std::fstream
einen anderen Variablennamen aus.P.S.: Bitte C/C++-Tags benutzen, also [cpp] und [/cpp].
-
danke
Funktioniert!
-
Nexus schrieb:
Programmierst du schon lange C++?
Du kannst im selben Block keinen Bezeichner mehrfach definieren. Such dir für den zweiten
std::fstream
einen anderen Variablennamen aus....Alternativ kann er auch 2 Blöcke aufmachen:
void Öffnen() { { ifstream Input ("Datei1.dat",ios::binary); Input.close; } { ifstream Input ("Datei2.dat",ios::binary); Input.close; } }
hilft manchmal, den Code übersichtlicher zu halten (wenn man die Variablen nur recht lokal braucht.
-
Wobei man das close natürlich weglassen kann.
-
Braunstein schrieb:
Wobei man das close natürlich weglassen kann.
Gegenüber Anfängern sollte man vorsichtig sein mit solchen Bemerkungen.
Besser man schreibt das
close()
, dadurch verliert man nichts. So denkt man auch in dem Fall daran, wo man eine Datei vor Blockende schliessen will.