In und aus Datei lesen/schreiben (Datenströme)
-
Hallo zusammen,
nach meiner erfolglosen Suche in Google nach (siehe Titel), da nur XML, Java und son Zeug kommt, dachte ich ich gucke mal in der FAQ, aber mein Compiler "Dev-C++" gibt mir Fehler aus, wenn ich folgendes in der FAQ enthaltendes Programm aus fürhen will:
using namespace std; // Einen Person-Datensatz definieren struct PERSON { char VorName[20]; char NachName[20]; int TelNr; }; // fstream damit die Datei zuerst schreibend und dann lesend geöffnet werden kann. fstream File("Person.dat", ios::out|ios::binary); if (File.is_open()) { // Nur zwei Datensätze schreiben. // Hier wäre eine Fehlerprüfung angebracht for (int i = 0; i < 2 ; ++i) { PERSON Pers; cout << "Vorname: "; cin >> Pers.VorName; cout << "Nachname: "; cin >> Pers.NachName; cout << "TelNr: "; cin >> Pers.TelNr; // Aktuelle Person in der Datei speichern. File.write((const char*)&Pers, sizeof(Pers)); } File.close(); // Datei schließen } // Datei zum Lesen öffnen. File.open("Person.dat", ios::in|ios::binary); if (File.is_open()) { PERSON Pers; while (File.read((char*)&Pers, sizeof(Pers))) cout << Pers.VorName << " " << Pers.NachName << " " << Pers.TelNr << endl; }Da kommt bei mir folgende Fehlermeldung:
15 C:\Dev-Cpp\Marcs-Arbeitstag.cpp variable `std::fstream File' has initializer but incomplete type 16 C:\Dev-Cpp\Marcs-Arbeitstag.cpp expected unqualified-id before "if" 16 C:\Dev-Cpp\Marcs-Arbeitstag.cpp expected `,' or `;' before "if" 36 C:\Dev-Cpp\Marcs-Arbeitstag.cpp expected constructor, destructor, or type conversion before '.' token 36 C:\Dev-Cpp\Marcs-Arbeitstag.cpp expected `,' or `;' before '.' token 37 C:\Dev-Cpp\Marcs-Arbeitstag.cpp expected unqualified-id before "if" 37 C:\Dev-Cpp\Marcs-Arbeitstag.cpp expected `,' or `;' before "if" 15 C:\Dev-Cpp\Marcs-Arbeitstag.cpp storage size of `File' isn't known C:\Dev-Cpp\Makefile.win [Build Error] [Marcs-Arbeitstag.o] Error 1Ich hatte vor auch eine Art Passwortabfrage zu erstellen und wollte das Programm erstmal testen und verstehen, evnetuell gg.f verändern, aber leider geht es nicht!
Ich quäle mich nun seit Stunden mit diesem Problem rum, hier mal ein ";" entfernt und wieder hinzugefügt, laut Fehler-Meldungen sollte es ja dann gehen, aber tut es nicht.
Vielen Dank und Gruß,
FreeR0M
-
Ich hoffe mal für dich, die gesamte Datei-Verarbeitung steht innerhalb einer Funktion.
(und ich hoffe, du hast den Header <fstream> eingebunden)
-
*urgh*
kann geschlossen werden. sorry, is mir grad dick peinlich, hatte das int.main über copy-pasted

gruß und dank,
freer0m