我正试图摆脱旧的不安全的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;
我只需要那个整数。有没有办法避免那些讨厌的虚拟变量?
提前致谢,祝你有愉快的一天!
答案 0 :(得分:4)
sstr.ignore(128,' ');
忽略到下一个空格,或直到读取128个字符。
答案 1 :(得分: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;