[求助]从文本读入数据
我从文本读入数据到c中,用的是
fp2=fopen("flux.txt", "r+"); /*打开一个文字文件读数据*/
fgets(s, strlen(s)+1, fp2); /*向所建文件写一字符串*/
fclose(fp2);
fii2=atof(s);
从字符串转换到实型,但是我发现这样数据会丢失精度。
请问有什么办法能直接读入实型数据啊?
谢谢~~
----------------解决方案--------------------------------------------------------
fscanf(fp2,%f,fii2);怎么样
----------------解决方案--------------------------------------------------------
会不会是因为 strlen(s)+1 的长度小于你所要读取的数据的长度?
----------------解决方案--------------------------------------------------------
谢谢二位的回答。
我改了一下,可以运行了
#include<stdio.h>
#include<string.h>
void main()
{ double fii2;
FILE *fp2;
fp2=fopen("F:\\ansysroot\\dongtai\\flux.txt", "r+");
fscanf(fp2,"%lf",&fii2);
printf("%lf", fii2);
fclose(fp2); /*关闭文件*/
}
还有一个问题。
fscanf(fp2,"%lf",&fii2);
中的,%lf我改为%f,%e都不行,都得不到我想要的数,这是为什么?
文件里是我随便设的0.123456
[此贴子已经被作者于2007-6-10 13:55:35编辑过]
----------------解决方案--------------------------------------------------------