當我從二進制文件中讀取一個無符號整數時,如果文件中的值相當低,它只會讀取正確的值 - 當我嘗試讀取超過150,000它給了我一些像9000 ...這很奇怪。數字越小,工作完全然而,像50000 ...當讀取具有較大值的無符號整數時,Fread返回錯誤的值
unsigned int value;
file = fopen(filePath, "rb");
fseek(file, 0, 0);
fread(&value, sizeof(unsigned int), 1, file);
printf("Value from file: %i\n", value);
二進制文件,該程序運行在同一臺計算機&操作系統上創建的...我缺少什麼?二進制文件創建正確,其中大部分確實返回正確的值&工作正常,只有大數字不會...
如果你想格式化IO,爲什麼不使用'fscanf()'? –
How * was *創建的二進制文件? – StoryTeller
發佈文件的十六進制轉儲。同時檢查'fread'的返回值 –