binäres lesen vom stream in ein struct
-
Ich hab folgende struct:
struct ms3d_vertex_t { byte flags; float vertex[3]; char boneId; byte referenceCount; };
und möchte per stream die Daten lesen ->
ms3d_vertex_t TMP_ms3d_vertex_t; myFile.read( reinterpret_cast<char*>(&TMP_ms3d_vertex_t), sizeof(ms3d_vertex_t));
Nur leider gibt mir das recht unsinnige Werte, mache ich:
myFile.read( reinterpret_cast<char*>(&TMP_ms3d_vertex_t.flags), sizeof(byte)); [...]
Funktioniert das wunderbar - daher meine Frage, kann ich irgendwie direkt die Daten einlesen für ein ganzes struct?
-
hast du vielleicht padding Probleme? Du solltest möglichst nie direkt structs binär schreiben, da dies leicht zu Padding Problemen führen kann.