读入并输出 6.70000000000e+01 -3.44687500000e+01 4.98913638899e-09 4.78240531929e
要读入内存并输出在终端上的“测试.txt”: 6.70000000000e+01 -3.44687500000e+01 4.98913638899e-09 4.78240531929e-01结果为甚么全是0?
我的代码:
#include<stdio.h>
#define SIZE 1/*循环读入输出的次数*/
/*结构体数组
*将没有规律的连在一起的几行放在一个结构体数组中
读入fscanf和输出printf的循环都设为SIZE次
*/
struct datarecord_type
{ double iode;
double Crs;
double delta_n;
double M0;
}datarecord[SIZE];
void main(void)
{int i,n;
FILE *fp; /*定义文件型指针变量*/
fp=fopen("测试.txt","r");/*打开文件。其中参数为要读的文件名(包含后缀名)加路径(若不加路径则只能放在.c文件所在的文件夹下)和打开方式*/
if(fp==NULL)/*确保文件指针不是空指针*/
{printf("不能打开该文件\n");
exit(0);/*关闭所有文件,终止正在执行的程序*/
}
for(i=0;i<SIZE;i++)
{/*存入并输出结构体数组
*/
fscanf(fp,"%lf %lf %lf %lf",&datarecord[i].iode,&datarecord[i].Crs,&datarecord[i].delta_n,&datarecord[i].M0);
printf("%19.12lf\n%19.12lf\n%19.12lf\n%19.12lf\n");
}
fclose(fp);
}