7

sscanf()を含む古い安全でないC関数を取り除こうとしています。今使っています

#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 に答える