我想知道哪种方法是解析string
C++ 中相同坐标的最佳方法。
例子:
1,5
42.324234,-2.656264
结果应该是两个double
变量...
我想知道哪种方法是解析string
C++ 中相同坐标的最佳方法。
例子:
1,5
42.324234,-2.656264
结果应该是两个double
变量...
如果字符串的格式总是 like 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
a line
。然后你可以像这样从中提取:
double x, y;
if (line_stream >> x &&
line_stream.get() == ',' &&
line_stream >> y) {
// Extracted successfully
}