- 论坛徽章:
- 0
|
一个文本文件中放一些double 型的数(数与数之间以空格隔开),如下:
14.935 14.357 14.345 13.853 13.529 14.227 13.861 14.374 13.987 14.334
14.545 14.638 14.612 0.000 13.605 14.537 14.374 14.505 13.772 14.686
14.525 14.728 14.628 14.110 14.719 14.269 13.043 14.269 14.756 14.191
14.180 14.180 14.180 13.576 14.118 14.399 14.399 14.440 13.637 14.888
我的问题就是如何把这些数读到一个数组中,请赐教!
我用如下的代码,但是输出的全是0.0000,为什么啊?
#include<stdio.h>
#include<math.h>
#define T 325
main(void)
{
FILE *fp,*fp1;
double a[T];
int i;
fp1=fopen("file1","w" ;
for(i=0;i<T;i++)
{
a[i]=0.0;
}
if ((fp=fopen("file.txt", "r" ) == NULL)
{
printf("Can not open the file!\n" ;
//exit(1);
}
fscanf(fp,"%f",&a);
for(i=0;i<T;i++)
{
printf("%f\t",a[i]);
fprintf(fp1,"%f\n",a[i]);
}
fclose(fp);
fclose(fp1);
return 0;
}
 |
|