[問題] 以2進位打開檔案讀取4bytes整數
題目規定要開啟一個檔案,這個檔案的前4bytes是一個正整數 代表該檔案共有多少筆資料
小弟使用fread做這件事,結果一直報run time error
示意程式碼:
FILE *fp = fopen("in.dat", "rb");
int num_data[1];
fread(num_data, sizeof(int), 1, fp);
程式會在fread()就執行失敗,跳出程式
請問是為什麼?要如何改善呢?謝謝
附上:
https://codeshare.io/2WEeAb
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.209.131 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1589009560.A.074.html
※ 編輯: mistel (111.71.85.42 臺灣), 05/09/2020 15:54:47
→
05/09 16:27,
5年前
, 1F
05/09 16:27, 1F
推
05/09 16:32,
5年前
, 2F
05/09 16:32, 2F
→
05/09 16:32,
5年前
, 3F
05/09 16:32, 3F
→
05/09 16:32,
5年前
, 4F
05/09 16:32, 4F
檢查過後確實是如此 請問malloc為什麼出錯了?
謝謝大大
※ 編輯: mistel (111.71.85.42 臺灣), 05/09/2020 16:51:02
推
05/09 16:55,
5年前
, 5F
05/09 16:55, 5F
→
05/09 16:55,
5年前
, 6F
05/09 16:55, 6F
試過了 讀出來是200,值是正確的
檔案大小是404bytes
第一個整數是4bytes
後面的都是short int,所以是2bytes
所以有200個沒錯
※ 編輯: mistel (111.71.85.42 臺灣), 05/09/2020 16:56:30
※ 編輯: mistel (111.71.85.42 臺灣), 05/09/2020 16:57:41
我弄懂了...是我操作array有問題
我的buffer應該要宣告short int *buffer才對
感謝cutekid大大
※ 編輯: mistel (111.71.85.42 臺灣), 05/09/2020 17:04:49
推
05/09 17:05,
5年前
, 7F
05/09 17:05, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章