我有一個string
像"ABC DEF "
在末尾有空格。我想將它轉換成像{"ABC" "DEF"}
字符串vector
,所以我用一個stringstream
:將字符串拆分爲單詞向量
string s = "ABC DEF ";
stringstream ss(s);
string tmpstr;
vector<string> vpos;
while (ss.good())
{
ss >> tmpstr;
vpos.push_back(tmpstr);
}
但是,結果vpos
是{"ABC" "DEF" "DEF"}
。爲什麼最後一個單詞會被複制到矢量中?什麼是正確的代碼,如果使用stringstream
是必需的?
@CaptainObvlious:不是,不。 – 2014-08-28 03:06:41
基本邏輯:'ss.good()'不能告訴未來! – 2014-08-28 03:07:11
@LightnessRacesinOrbit - 非常正確。收起投票。 – 2014-08-28 04:40:37