"ABC DEF "
과 같이 string
과 공백이 있습니다. 나는 {"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 : 아니요. –
기본 논리 :'ss.good()'는 미래를 말할 수 없습니다! –
@ LightnessRacesinOrbit - 맞아. 닫기 투표가 철회되었습니다. –