std::string s;
std::stringstream ss;
ss << "a=b+c" << std::endl << "d=e+f";
std::getline(ss, s, '='); // gives me "a"
std::getline(ss, s); /* gives me "b+c" <- just want to peek: don't
want to change state of ss */
std::getline(ss, s, '+'); // BUT still want "b" here, not "d=e"
s
現在包含"a"
現在,我怎麼偷看在行("b+c"
)的剩餘字符?那就是,沒有導致下一個操作從下一行開始?如何在使用getline之後查看剩餘的stringstream字符?
(例做作,我知道了。)
謝謝 - 看起來很有希望。如果我不想從一開始就開始'seekg',我怎麼能得到一個stringstream的當前位置(這樣我可以存儲該位置,稍後'seekg')? – mchen
我相信你可以使用''s.scur''',但我不是100%肯定的。試試吧:) – Anickyan
不,不會出現如此。即使在使用「getline」之後也會顯示1,這應該會消耗掉很多塊。 – mchen