我希望从一个字符串中获取单词(例如:"我的名字是Jonathan"),然后将每个单词保存到列表中的元素中。我想做到极其简单,没有任何载体等。 例如
我从字符串中取出一个单词并将其保存到元素中 相同 直到字符串结尾。
答案 0 :(得分:3)
您可以通过以下方式执行此操作
#include <string>
#include <list>
#include <sstream>
#include <iterator>
//...
std::istringstream is( "My name is Jonathan" );
std::list<std::string> lst( ( std::istream_iterator<std::string>( is ) ),
std::istream_iterator<std::string>() );
这是一个示范程序
#include <iostream>
#include <string>
#include <list>
#include <sstream>
#include <iterator>
int main()
{
std::istringstream is( "My name is Jonathan" );
std::list<std::string> lst( ( std::istream_iterator<std::string>( is ) ),
std::istream_iterator<std::string>() );
for ( const std::string &s : lst ) std::cout << s << ' ';
std::cout << std::endl;
return 0;
}
它的输出是
My name is Jonathan
如果要将此任务应用于您自己的列表,则可以使用以下方法
std::istringstream is( "My name is Jonathan" );
std::string word;
while ( is >> word )
{
// append your list with the word
}