string类型转换为double类型

来源:百度知道 编辑:UC知道 时间:2024/06/10 19:24:38
#include<fstream>
#include<string>
#include<iostream>
using namespace std;
void main()
{
fstream infile;
infile.open("D:\\data1.txt");
if (!infile)
{
cout<<"can't open this file";
abort();
}
string A;
double a;
while (!infile.eof())
{
getline(infile,A,'\n');
a=atof(A); //就是这一部,编译时始终不能将A转换为double型的,不知道为什么,请大虾指教。
}
infile.close();
}

atof参数要求是const char *
函数名: atof
功 能: 把字符串转换成浮点数
用 法: double atof(const char *nptr);

这里要把string对象转换为char *,使用string类的c_str方法
a=atof(A.c_str());