2015-09-28 64 views
1

我正在寻找一种高效且不笨的方法来从文本文件中读取一堆数据。我有一个名为信息类,它拥有3个私人变量:从文件中读取字符串和双精度的组合

string location; 
double latitude; 
double longitude; 

输入的格式将与格式如下每行一个巨大的文本文件:

34.3153920 66.7239403 Seattle 

我已经尝试去几条路线。

  1. 我试着逐行阅读它,并在信息构造函数中解析它,但stod()函数截断了我的数据。它会读取像34.3153和66.7239。

我也尝试通过getline(ss,line,'')使用空格分隔符来读取它,但这也不起作用。

我是不是要求任何人为我编写代码,但有没有一种简单的方法,我错过了将这3个字段映射到我的信息对象,而不必使用解析器搞怪?

任何反馈表示赞赏,谢谢!

实际上,stod并没有截断我的数据。截断来自我的结论语句中的精确度(或缺乏)。

+1

'stod()函数截断了我的数据'你确定这不是[precision](http://en.cppreference.com/w/cpp/io/manip/setprecision)的问题输出流?你是如何验证数据被截断的? – user657267

+0

谢谢@ user657267我犯了一个非常粗心的错误,没有意识到这一点。我会解决这个问题。 –

+0

你还需要回答吗? – errikos

回答

0

我已经解决了实际上我的cout语句影响了我的双精度值的精度的问题!