istream_iterator对于从istream中获取单词非常有用:
istrem_iterator<string> my(my_istream);
while (my != end) {
std::cout << *my << std::endl;
++my;
}
我想用字符串做同样的事。
有办法做到这一点吗? :)
答案 0 :(得分:4)
std::istringstream
为std::string
提供输入流接口:
std::istringstream my_istream(my_string);
然后,您可以像以前一样使用std::istream_iterator<std::string>
来提取单词。
您可以使用std::copy
编写代码,如下所示:
std::copy(std::istream_iterator<std::string>(my_istream),
std::istream_iterator<std::string>(),
std::ostream_iterator<std::string>(std::cout, "\n"));