[求助]请指点下这个程序,谢谢!
为什么我的贴子发出去后,我自己也看不到? ----------------解决方案--------------------------------------------------------
刷新一下
----------------解决方案--------------------------------------------------------
谢谢
----------------解决方案--------------------------------------------------------
我的程序是这样的,请高手指点下我的程序,为什么结果是输出五个零?
在此先谢了。
程序是
#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试了下可以了.
----------------解决方案--------------------------------------------------------