我不明白为什么这个小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