我想知道哪种解析C ++中相同string
的坐标的最佳方法。
示例:
1,5
42.324234,-2.656264
结果应该是两个double
变量......
答案 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
}