如何用C读文本中的该格式数据?-7.91754573584D-05
文本名:测试.txt文本内容:-7.91754573584D-05
-7.91754573584D-05中D代表双精度浮点型,是-7.91754573584*10的-5次方的意思
用下面的代码读后的结果是0.00000000000000000.因为C不认-7.91754573584D-05。求办法。我个写的一个GPS的数据处理程序,最后发现读这种数据时会方有问题
#include<stdio.h>
#define SIZE 1
struct experiment /*定义结构体数组*/
{double a;
}exper[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,"%f",&exper[i]);/*读数据块。其中&exper[i]位置是读入数据的存放地址,&exper[i]指结构体数组的某个结构体变量stud[i]的地址;fp是前面已定义的文件型指针变量*/
printf("%19.12f",exper[i]);/*输出结构体数组的每个元素(即结构体变量)中的每个成员的值*/
}
fclose(fp);
}
[ 本帖最后由 考拉的儿子 于 2011-5-31 16:44 编辑 ]