忽略stringstream中的值(如sscanf中的%*f)

Gun*_*nar 7 c++ stringstream

我正试图摆脱旧的不安全的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;  
Run Code Online (Sandbox Code Playgroud)

我只需要那个整数.有没有办法避免那些讨厌的虚拟变量?

在此先感谢您,祝您度过愉快的一天!

Let*_*_Be 4

sstr.ignore(128,' ');

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

  • 如果您确定要查找分隔符,则可以使用 ss.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(),':'); (5认同)