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.


Anmelden zum Antworten