当前位置: 代码迷 >> C语言 >> [求助]请指点下这个程序,谢谢!
  详细解决方案

[求助]请指点下这个程序,谢谢!

热度:282   发布时间:2007-07-08 21:31:08.0
[求助]请指点下这个程序,谢谢!
为什么我的贴子发出去后,我自己也看不到?
----------------解决方案--------------------------------------------------------

刷新一下


----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------

我的程序是这样的,请高手指点下我的程序,为什么结果是输出五个零?
在此先谢了。


程序是
#include<stdio.h>
#include<stdlib.h>
void main()
{ FILE *in;
int i;
float a[5];
if((in=fopen("file1","r"))==NULL)
{ printf("can not open this file\n");
exit(0);
}
fread(a,4,5,in);
for(i=0;i<5;i++)
printf("%f",a[5]);
fclose(in);
}

其中file1中的数据是

-3.43 23.5 2345.34 -890.67 67


----------------解决方案--------------------------------------------------------
fread读入的是字节,你要是想直接读浮点型的数的话,用fscanf比较好。
当然,用fread也行,这句话的话最好这么写:
fread(a,sizeof(a),1,in);
或者在循环体内这么读:
for(i=0;i<5;i++)
fread(&a[i],sizeof(float),1,in);
----------------解决方案--------------------------------------------------------
刚才我把
fread(a,sizeof(a),1,in);

for(i=0;i<5;i++)
fread(&a[i],sizeof(float),1,in);
都试了下,结果还是五个零,可能是其他方面有问题了,
谢谢!
----------------解决方案--------------------------------------------------------
多谢windflush!
我用fscanf试了下可以了.
----------------解决方案--------------------------------------------------------
  相关解决方案