我不明白爲什麼這個小C代碼不起作用FREAD()函數給出了垃圾
#include <stdio.h>
main(int argc,char **argv){
FILE *fp,
int i;
size_t elem_read;
int buffer[100];
fp=fopen(argv[1],"r");
elem_read=fread(buffer,sizeof(int),100,fp);
for(i=0;i<elem_read;i++)
fprintf(stderr,"%d\t",buffer[i]);
fclose(fp);
}
爲了縮短我沒有做任何錯誤檢查的代碼,但它應該工作...我已經用txt和bin文件試着讀取數字並將其打印出來。我想我明白爲什麼這不適用於txt文件,但我不明白爲什麼它不與.bin文件?我有一個包含4個整數的文件:10 10 10 10,但是當我嘗試使用./a.out file.bin運行它時,我得到一些隨機數字(垃圾輸出),問題在哪裏?
該文件的內容是什麼? – 2015-02-09 18:05:27
@iharob 10 10 10 10 – BsD 2015-02-09 18:06:01
Text? '10 10 10 10'? – 2015-02-09 18:06:50