我正在嘗試製作一個C++程序,它接收用戶輸入並提取字符串中的單個單詞,例如, 「你好,鮑勃」會得到「你好」,「對」,「鮑勃」。最終,我將把它們推入一個字符串向量中。這是我嘗試在設計代碼時要使用的格式:從字符串中提取單個單詞C++
//string libraries and all other appropriate libraries have been included above here
string UserInput;
getline(cin,UserInput)
vector<string> words;
string temp=UserInput;
string pushBackVar;//this will eventually be used to pushback words into a vector
for (int i=0;i<UserInput.length();i++)
{
if(UserInput[i]==32)
{
pushBackVar=temp.erase(i,UserInput.length()-i);
//something like words.pushback(pushBackVar) will go here;
}
}
但是,如果有任何空格的話(例如,如果我們在此之前只在string.It遇到的第一個空間的作品不工作有「你好我的世界」,pushBackVar將在第一個循環後成爲「Hello」,然後是第二個循環後的「Hello my」,當我想要「Hello」和「我的」時)。我該如何解決這個問題?有沒有其他更好的方法來從字符串中提取單個單詞?我希望我沒有困惑任何人。
的可能的複製(http://stackoverflow.com/questions/236129/split-a-string-in-c) –