fstream Binary out Null fehlt
-
Hallo erstmal,
habe ein problem mit den Code er übersetzt wie gewohnt die Datei in Hex-Zeichen,
und mach alle 30 Hex-Zeichen einen zeilenumbruch .
nur leider klaut er mir an den verschiedensten stellen eine Null zb. 1c0020 macht er 1c020 leider habe ich keine Ahnung warum dies so istgruß Kronos.
#include <fstream> using namespace std; int main(int argc, char *argv[]) { int zehler = 0; fstream in("in.tmp", ios::in | ios::binary); ofstream out("out.tmp"); if (!in.is_open() || !out.is_open()) return 1; out << hex; while (!in.eof()) { if ( zehler == 0) { out << in.get(); zehler = zehler + 1; } else if ( zehler == 30) { out << '\n' << hex; zehler = 0; } else { out << in.get(); zehler = zehler + 1; } return 0; }
-
Das Problem hier ist das immer 8Bits eingelesen werden und ausgegeben.
Im falle vom wert 0 ist die ausgabe dann auch 0 (eine)
Lösung:
out << hex << setw(2) << setfill('0') << in.get();BR
Vinzenz