C ++从文本文件读取到双倍+值

时间:2014-07-23 14:28:11

标签: c++ text double ifstream getline

我正在尝试读取.txt文件并将内容保存为C ++中的双精度数。 .txt文件的格式为:x(tab)9(tab)注释(换行符) 我在C ++中需要的是double x = 9;

//Read constants from file.
string name;
double value;
double a,b,c,d,th; //these are all stored in the file

ifstream fin("File.txt");
while (fin >>name>>value)
{
    getline(fin,name,value);

};

如何进行?感谢

1 个答案:

答案 0 :(得分:1)

在最后一次格式化提取后,您没有清除换行符。 std::getline()在找到换行符时停止阅读,因此您应该使用std::ws将其清除:

while (std::getline(fin >> name >> value >> std::ws, name))
//                                          ^^^^^^^
{
    // ...
};