-3

假设我有以下字符串:

string str = "I 500.000 500.000 30000 30.000 60.000 20.000 20.0 60.0 ;"

以及以下变量:

double x1;
double x2;
int x3;

我想解析上面的字符串,以便最后

x1 = 500.000
x2 = 500.000
x3 = 30000

进行这种解析的最佳方法是什么?代码片段将不胜感激。

谢谢!


更新

好吧,当我说“最好”时,我的意思是最简单的,因为你什么时候得到一个如上所述的示例字符串,你确切地知道字符串是如何格式化的。例如,一个字符后跟两个双精度数,然后是一个整数等……我所关心的是最短的代码,它也很简洁。无需花时间和额外的数据处理。

4

2 回答 2

3

字符串流满足您的需求:

#include <sstream>

std::istringstream iss(str);
iss.get(); //'I'

if (iss >> x1 >> x2 >> x3) {
    //success
}
于 2013-04-06T18:42:53.320 回答
2

使用字符串流如下:

string str = "I 500.000 500.000 30000 30.000 60.000 20.000 20.0 60.0 ;"
stringstream ss(str);
char c =' ';

ss >>c>> x1 >> x2  >>x3 ;
于 2013-04-06T18:43:45.897 回答