Byte einlesen
-
Hallo!
Wie kann ich in C++ mit Hilfe von std::ifstream den numerischen Wert eines Bytes aus einer Datei lesen (0 bis 255)?
Ich habe schon alle möglichen Methoden der Klasse ausprobiert, aber ich habe immer wieder das gleiche Problem: bei bestimmten Bytes wird einfach der falsche Wert gelesen (so wird z.B. bei 0x1A einfach 0xFF gelesen). Nach einem derartigen Fehler kommt überhaupt nur noch 0xFF.
Ich nehme an dass es irgendwie damit zusammenhängt dass Steuerzeichen interpretiert werden. Mich interessiert das Zeichen selbst aber gar nicht, ich will den numerischen Wert letztendlich in einen unsigned char (meinetwegen auch einen unsigned int) bekommen und diesen auswerten.
Danke schonmal!
mfg
-
Hä?
ifstream in; // Open & Fail Check unsigned char c; in >> c;
-
Besser den konstruktor zum öffnen nehmen.
-
ifstream in( "harry.txt", ios::in | ios::binary); // Datei binär öffnen unsigned char c; if( in >> c) { // jo, da wurde was gelesen }
-
Danke. Der Fehler war dass ich binary vergessen hab.