binare Zeichen in Zahlen umwandeln
-
Hi!
Ich möchte eine binäre datei auslesen und schauen, welche Zahlen da drinnen stehen. Es sollten double-Werte sein.
Die routine, die ich dazugeschrieben habe, sieht folgendermaßen aus:void readBinaryData (string filename) { char arr2[8]; char data[8]; ifstream fbin; fbin.open(filename.c_str(),ios::in|ios::binary); if(!fbin) cout << "could not open filename" << endl; for(;!fbin.eof();) { fbin.read(data,8); for(int m=0;m<8;m++) arr2[m]=data[7-m]; double* frichtig=reinterpret_cast<double*>(arr2); //cout<<"geschriebenes: "<<*frichtig<<endl; cout << frichtig << endl; } fbin.close(); }Ich habe eine ähnliche Routine schon einmal erfolgreich implementiert, die hat damals float-Zahlen ausgelesen. Jetzt allerdings bekomme ich den Output (wegen cout << ... )
0012FE00
0012FE00...u.s.w solange die schleife läuft. Das sind 1) immer dieselben Zahlen und 2) nicht einmal Zahlen wie ich sie eigentlich gerne hätte.
Weiß vielleicht jemand, was hier schief laufen könnte?Thx,
Iso
-
Wäre natürlich schon sinnvoll zu dereferenzieren, also statt
cout << frichtig << endl;, das hiercout << *frichtig << endl;.Grüssli