怎样从文本文件中读出浮点型的数据?

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:39:41
我已经试过fscanf (fp,"%lf",&num);了,运行时错误.
请各位提供一些可行的方案,最好通过测试再贴上来...
不好意思,题目里忘说了,要用C语言.

***看来说的还不是很清楚,只能用C,不要C++的实现.不过还是感谢loving525的回答!***

#include<stdio.h>
void main(){
FILE *fp;
float num;
if((fp=fopen("input.dat","rt"))==NULL){
printf("cannot open file\n");
exit(1);
};
fscanf (fp,"%f",&num);
printf("%5.4f",num);
fclose(fp);
}
希望楼主注意:
1、fp的打开方式必须是文本形式;
2、input.dat文件中必须有float的数据,可以用txt文件编辑,再重命名为“input.dat”
3、turbo c2.0编译器在处理float类型的数据时容易出错,最好用2.0以上的版本

#include <iostream.h>
#include <fstream.h>
#include <string>
void main()
{
double a,b,c;
ifstream ab("abc.txt"); //假如abc.txt文件中存有3.5,4.6,8.2三个数
ab>>a>>b>>c; //读取a=3.5,b=4.6,c=8.2
cout<<a<<"\t"<<b<<"\t"<<c<<end;
}

注意num必须是char形的