auslesen einer binaerdatei
-
Hallo, ich bin Neuling in der C++-Programmierung und habe ein Problem, das wahrscheinlich recht einfach zu loesen sein sollte.
Ich versuche eine Binaerdatei mittels in.read... auszulesen. Ein Problem ist, das die Datei einen Header mit einigen zusaetzlichen Informationen besitzt, und die eigentlichen Daten erst nach 357 Bytes beginnen, aber das muesste ich mittels
in.seekg (357, ios::cur);
geloest haben. Wenn ich danach allerding mit einer for-Schleife und
in.read(reinterpret_cast<char*>(&x), sizeof(x));
versuche die Daten nacheinander auszulesen, klappt das nicht. Habe ich in dieser Anweisung einen Fehler, oder muss ich mittels in.seekg immer an den Beginn des naechsten Eintrags gehen?
Oder ist das alles kompletter Bloedsinn?
Ich habe das Programm auch schon C-typisch mit fseek, fread und so gschrieben und es laeuft dort nach Wunsch. Jetzt wollte ich es einfach etwas "moderner" in C++ schreiben.
Ich hoffe, es kann und will mir jemand helfen.Tramp
-
versuchs mal mit:
DATEI.open("datei.endung",ios::binary); //öffnet datei.endung im binärmodus
getline(von,nach,bis); //geht die zeilen der datei durch (getline(DATEI,string,'\n');)sollte dir helfen
-
also, das mit DATEI.open("name.endung", ios::binary) habe ich ja gemacht.
Aber hilft mir der getline-Befehl wirklich weiter, wenn ich einzelne Bytes, in denen Zahlen stehen, auslesen will. Ich dachte, der getline-Befehl waere zum Auslesen einer ganzen Zeile. Wie ist denn so eine Zeile definiert, vor allem in einer Binaerdatei?
-