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

Splitting a string up into individual words and placing them in a vector

本文关键字:向量 拆分 字符串 单个单      更新时间:2023-10-16

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

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;

}

任何帮助将不胜感激!

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

stringstream ss;
ss << choice;
vector <string> broken;
string word;
while(ss >> word){
broken.push_back(word);
}

一种可能性是使用istringstream

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

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