7

我正在尝试摆脱旧的不安全 C 函数,包括 sscanf()。现在我正在使用

#include <sstream>
std::string str = "111 222.2 333 444.4 555";
std::stringstream sstr(str);
int i, j, k;
float dummy1, dummy2;
sstr >> i >> dummy1 >> j >> dummy2 >> k;  

我只需要其中的整数。有什么办法可以避免那些讨厌的虚拟变量?

提前致谢,祝您有美好的一天!

4

2 回答 2

4

sstr.ignore(128,' ');

忽略直到下一个空格,或直到读取 128 个字符。

于 2010-11-24T12:27:39.283 回答
3

您可以使用一个假人(每种类型):

std::string str("111 222.2 333 444.4 555");
std::stringstream sstr(str);
int i, j, k;
float dummy;
sstr >> i >> dummy >> j >> dummy >> k;
于 2010-11-24T12:35:41.093 回答