little endian/big endian ... dateien speichern



  • zum speichern benutz ich
    size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );

    es funktioniert unter little endian
    jetzt will ich dieselben structs unter big endian speichern
    wenn ich denselben code verwende sind die daten der structs in der file natürlich total durcheinandergewürfelt

    gibts ne allgemeine technik dafür bei der ich nich jede zu speichernde variable durchgehen muss?



  • Sovok schrieb:

    gibts ne allgemeine technik dafür bei der ich nich jede zu speichernde variable durchgehen muss?

    Nee.
    Aber das is sowieso besser, da neben dem big/little-endian Problem auch noch das Problem des Compiler-abhängigen struct-member-alignment hinzukommt.
    Wenn das ganze also System-portabel sein soll kommst du um ein einzelnes durchgehen der Variablen nicht herum.


Log in to reply