在
例如,如果我尝试使用“%lu”显示BPB_BytsPerSec,我会得到不同寻常的数据。
printf("Bytes per Sector: %lu", b->BPB_BytsPerSec);
我得到一个“514”的值,我相信,这是错误的解释..请建议出路。 谢谢。
(我通过MinGW使用gcc 5.1,通过64位Windows)
这是我们正在讨论的结构:
/* BPB Structure Collected from internet */ struct BPB_FAT32 { BYTE BS_jmpBoot[3]; // 0 BYTE BS_OEMName[8]; // 3 WORD BPB_BytsPerSec; // 11 BYTE BPB_SecPerClus; // 13 WORD BPB_ResvdSecCnt; // 14 BYTE BPB_NumFATs; // 16 WORD BPB_RootEntCnt; // 17 WORD BPB_TotSec16; // 19 BYTE BPB_Media; // 21 WORD BPB_FATSz16; // 22 WORD BPB_SecPerTrk; // 24 WORD BPB_NumHeads; // 26 DWORD BPB_HiddSec; // 28 DWORD BPB_TotSec32; // 32 DWORD BPB_FATSz32; // 36 WORD BPB_ExtFlags; // 40 WORD BPB_FSVer; // 42 DWORD BPB_RootClus; // 44 WORD BPB_FSInfo; // 48 WORD BPB_BkBootSec; // 50 BYTE BPB_Reserved[12]; // 52 BYTE BS_DrvNum; // 64 BYTE BS_Reserved1; // 65 BYTE BS_BootSig; // 66 DWOR