我在想知道哪種解析座標的最好方法,這些座標在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