我在想知道哪种解析坐标的最好方法,这些坐标在C++中一起使用相同的string
。在C++中解析坐标字符串的最佳方法
例子:
1,5
42.324234,-2.656264
结果应该是两个double
变量...
我在想知道哪种解析坐标的最好方法,这些坐标在C++中一起使用相同的string
。在C++中解析坐标字符串的最佳方法
例子:
1,5
42.324234,-2.656264
结果应该是两个double
变量...
如果字符串的格式总是喜欢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;
使用while (std::getline(stream, line))
提取每一行,然后初始化一个std::istringstream
与line
。然后你就可以从中提取像这样:
double x, y;
if (line_stream >> x &&
line_stream.get() == ',' &&
line_stream >> y) {
// Extracted successfully
}
如何将一个非整数解析为'long'? – Angew 2013-04-30 09:14:22
我认为他的意思是双打。 – stardust 2013-04-30 09:15:12
是的,对不起...编辑... – apascual 2013-04-30 09:15:52