Short verbraucht 4 Byte mit fwrite???



  • Hi!
    Ich habe folgenden Code geschrieben. Jedoch speichert er bei shorts trotzdem 4 bytes. 2 Bytes für den short und 2 Bytes - ja, hmmm?! irgendwas ^^"

    Warum?

    struct HeaderChunk {
      unsigned __int16 ID;      //auch schon mit Short probiert und mit __int16
      int Size;
    
      unsigned __int16 Version; //auch schon mit Short probiert und mit __int16
    };
    
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
      HeaderChunk Header;
      Header.ID = ID_HEADER;
      Header.Size = sizeof(Header);   //12 statt 8
      Header.Version = VERSION;
    
      FILE *ff = fopen(Edit2->Text.c_str(), "wb");
    
      fwrite(&Header, sizeof(Header), 1, ff);
    
      fclose(ff);
    }
    


  • stell mal den compiler so ein daß er die strukturmitglieder auf 2 bytes ausrichtet, nicht auf 8 wie standard ist


Anmelden zum Antworten