在C ++中解析坐标字符串的最佳方法

时间:2013-04-30 09:12:49

标签: c++ parsing coordinates

我想知道哪种解析C ++中相同string的坐标的最佳方法。

示例:

1,5
42.324234,-2.656264

结果应该是两个double变量......

2 个答案:

答案 0 :(得分:4)

如果字符串的格式总是像x,y那样,那么这就足够了。

#include <string>
#include <sstream>

double x, y;
char sep;
string str = "42.324234,-2.656264";
istringstream iss(str);

iss >> x;
iss >> sep;
iss >> y;

答案 1 :(得分:1)

使用while (std::getline(stream, line))提取每一行,然后使用std::istringstream初始化line。然后你就可以从中提取出来:

double x, y;
if (line_stream >> x &&
    line_stream.get() == ',' &&
    line_stream >> y) {
  // Extracted successfully
}