我很新的C,但我也碰到過用fread一個問題...C,從bin文件FREAD二進制
我的最終目標是從閱讀(然後printf的安慰)二進制一個.bin文件,但現在我把它一步步的時間,並試圖剛剛讀第一位......
我的代碼:
...
FILE *file = fopen("test1.bin", rb);
int i = 0;
fread(&i, 1, 1, file);
printf("%i\n", i);
...
現在我已經在嘗試這樣做三個不同的.bin文件,一個輸出0,另外兩個和另外12個!
爲什麼當我從文件中讀取1位時,它會輸出2/12?它不應該是0還是1?我究竟做錯了什麼?非常感謝。
您正在閱讀1字節,而不是1位。 :) – Pethical
對,好吧謝謝,如果我只想讀取32位,我會改變1,1,1,1,1,1? –
更好地更改爲sizeof(int),1。 – Pethical