有一個二進制文件,我想把里面的一個八個字節的數讀出來(其實就是1)然后我建立一個int a[];數組,然后調用fread(a,8,1,fp);fp是對應打開文件的指針,怎么就沒讀進去呢?我把數組改成double 后再讀,就能讀進去了,可是讀的不是1,是一個接近0的小數,我就崩潰了,我的問題是,第二個參數,跟第一個參數有關系嗎?八個字節的數到底怎么才能讀出來?跪求高手解答!
1 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
如果你想把這8個字節當成一個數來讀的話可以這樣(在VC環境下)
__int64 a;
fread(&a,sizeof(__int64),1,fp);
如果你想分別讀出這8個字節的話,可以這樣:
char a[8];
fread(a,sizeof(char),8,fp);
希望對你有幫助
__int64也可以用來表示一個整數,只不過它能表示的范圍比int類型的要大,int類型占4個字節,而這個__int64占8個字節。如果你用的是gcc編譯器(像DEV-C等),那應該是long long
- 1 回答
- 0 關注
- 510 瀏覽
添加回答
舉報
0/150
提交
取消