将一个字符串拆分成单个单词并将它们放在一个向量中

时间:2018-05-06 02:41:36

标签: c++

我希望能够将任何大小的字符串的每个单词放入向量中。这就是我到目前为止所做的:

vector <string> broken;
while(choice != " "){
    int space = choice.find(" ")-1;
    string word = choice.substr(0,space);
    broken.push_back(word);
    choice = choice.substr(space+1);``
    cout << choice;

}

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

最简单的方法是使用stringstream,你可以在stringstream中插入多字符串,然后从字符串流中插入一个while循环到另一个字符串,然后你将在循环的每次迭代中将每个单词分开。

'..'

答案 1 :(得分:0)

一种可能性是使用istringstream

istringstream iss(choice);
vector<string> broken{istream_iterator<string>{iss},
                      istream_iterator<string>{}};

您需要#include <sstream>#include <iterator>