什么是Java的split()的c ++等价物?

时间:2012-11-28 11:27:58

标签: c++ parsing

我正在尝试从文本文件中读取数据值并将它们存储在数据结构中。我可以在Java中相当简单地实现这样的功能,但我不确定如何最好地解决问题。

一行数据为x, y, sigma,如1.1 1.2 1.3。我知道如何使用getline(myFile, string)将整行放入c ++中的字符串,但我不确定这是否是正确的方法,或者是否是,从那里开始。是否可以拆分该行,然后将拆分字符串解析为double值?

我的数据结构如下:

struct datapoint {
   double x;
   double y;
   double sigma;
   double weight;
   double xSquared;
   double xy;
};

我的问题是这些:

有没有办法将数字解析为结构,.txt文件的每一行都是struct数组中的datapoint

如果没有直接的方法,那么Java的split()Double.parseDouble(string)方法的c ++中是否有等价物?

感谢。

1 个答案:

答案 0 :(得分:6)

只需用

阅读它们
std::cin >> x >> y >> sigma >> weight >> xSquared >> xy;

可能是解决您问题的最简单方法......

但是,如果您确实需要进行拆分,请查看此处:http://www.cplusplus.com/faq/sequences/strings/split/