Auslesen einer Binärdatei



  • Moin Moin,

    ich hab da ein kleines Problem.
    Ich habe eine Binärdatei und will diese auslesen.
    Die ersten Einträge sind vom Typ long und stellen auch kein Problem dar.

    Jedoch sind die letzten Einträge float Variablen und mit denen habe ich Probleme.

    Meine Ausleseroutine ist wirklich simpel

    dat->read((char*) &tmp, 4);
    		memcpy(&tmpf, &tmp, 4);
    		log->fixTime(ho, mi, tmpf);
    

    tmp ist eine long Variable, tmpf ist float.
    Wenn ich mir mit fprintf den Hexwert von tmp ausgeben lasse stimmt der mit der Binärdatei überein.
    Wandel ich das aber um, bzw mach da ein memcpy bekomme ich auf einmal einen komplett anderen Hexadezimalwert heraus.

    Und wenn ich das direkt mit der Floatvariable einlese, bekomm ich auch wieder diesen anderen Wert heraus.

    Bin am verzweifeln, bitte helft mir.

    Für Fragen steh ich offen.

    MfG

    Vic


Anmelden zum Antworten