在字符串中使用word iterator

时间:2014-02-19 17:15:04

标签: c++ iterator

istream_iterator对于从istream中获取单词非常有用:

istrem_iterator<string> my(my_istream);
while (my != end) {
   std::cout << *my << std::endl;
   ++my;
}

我想用字符串做同样的事。

有办法做到这一点吗? :)

1 个答案:

答案 0 :(得分:4)

std::istringstreamstd::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"));