sscanf to istringstream confusion c ++

时间:2013-02-14 04:49:01

标签: istringstream

我想使用istringstream将以下C代码转换为C ++:

void test(char *s) {
   int i;
   sscanf(s, "%*s%d", &i);
}

到目前为止我所拥有的是:

void test(char *s) {
   int i;
   istringstream iss(s);
   iss >> s >> i;
}

它出现了错误。我太陌生了istringstream,并且无法弄清楚如何解决它。我希望对我的错误有所了解。 s应该是一个没有空格的字符串和整数(例如Good123),我想删除整数并将其放入i中。

1 个答案:

答案 0 :(得分:0)

对于初学者,您应该使用另一个变量来存储生成的解析字符串。

void test(char *s) {
   int i;
   string s1;
   istringstream iss(s);
   iss >> s1 >> i;
}