Dateien öffnen und schließen
-
Hallo Leute,
in meinem Buch steht als erstes Beispiel bei "Dateien" der folgende Quelltext:// PRG07_10.CPP // #include <fstream.h> void main(void) { char datei1[]="abc.rst"; char datei2[]="def.uvw"; char datei3[]="ghi.xyz"; cout << "Programmstart!" << endl; ofstream Ausgabe; Ausgabe.open(datei1,ios::app,filebuf::sh_none); if (Ausgabe.good()) cout << "Datei " << datei1 << " konnte geoeffnet werden." << endl; Ausgabe.close(); if (Ausgabe.good()) cout << "Datei " << datei1 << " konnte geschlossen werden." << endl; Ausgabe.open(datei2,ios::out,filebuf::sh_none); if (Ausgabe.good()) cout << "Datei " << datei2 << " konnte geoeffnet werden." << endl; Ausgabe.close(); if (Ausgabe.good()) cout << "Datei " << datei2 << " konnte geschlossen werden." << endl; ofstream Ausgabe2(datei3,ios:ate,filebuf::sh_compat);
...
Ausgabe2.open(datei2,ios::out,filebuf::sh_none);
...
cout << "Programmende!" << endl; }
Aus "void main(void)" habe ich "int main(int argc, char* argv[])" mit abschließendem "return 0" gemacht.
Jetzt hab ich noch ein paar Fragen zum Code:
1. <fstream.h> ist doch bestimmt veraltet. Was muss ich alles abändern, damit ich <fstream> benutzen kann?
2. Ich bekomme zwei Fehlermeldungen: "error C2039: 'sh_compat': Ist kein Element von 'filebuf'" und
"error C2065: 'sh_compat': nichtdeklarierter Bezeichner". Wie bekomme ich die weg?
-
Hi
Ich weiß ja nicht was das für ein Lehrbuch ist aber ich mache das etwas anders:#include <fstream> using namespace std; int main(void) { char datei1[]="abc.rst"; char datei2[]="def.uvw"; char datei3[]="ghi.xyz"; cout << "Programmstart!" << endl; ofstream Ausgabe; Ausgabe.open(datei1,ios::app); if (Ausgabe.good()) cout << "Datei " << datei1 << " konnte geoeffnet werden." << endl; Ausgabe.close(); if (Ausgabe.good()) cout << "Datei " << datei1 << " konnte geschlossen werden." << endl; Ausgabe.open(datei2,ios::out); if (Ausgabe.good()) cout << "Datei " << datei2 << " konnte geoeffnet werden." << endl; Ausgabe.close(); if (Ausgabe.good()) cout << "Datei " << datei2 << " konnte geschlossen werden." << endl; ofstream Ausgabe2(datei3,ios:ate); Ausgabe2 << "Hallo Welt der Dateien!" << endl; Ausgabe2.close(); return 0; }