C++ 之 Stream Iterator

来源:互联网 发布:挑围巾 知乎 编辑:程序博客网 时间:2024/05/08 00:05

第二种迭代器适配器就是流迭代器(Stream Iterator).

Stream Iterator有两种:istream_iterator和 ostream_iterator

istream_iterator用于从流中读取数据,包括标准输入流istream,文件输入流ifstream,字符输入流isstream.

ostream_iterator用于将取数据写到流中,包括标准输出流istream,文件输出流ofstream,字符输出流osstream.

使用这两个流迭代器需要包含头文件 #include <iterator>

举个例子:

    vector<string> stringVec;    copy(istream_iterator<string>(cin),         istream_iterator<string>(),         back_inserter(stringVec));    sort(stringVec.begin(),stringVec.end());    unique_copy(stringVec.begin(),stringVec.end(),                ostream_iterator<string>(cout,"\n"));

简单的三个语句,就可完成大量的操作!

在Windows XP平台下,结束输入按 Ctrl+Z

ostream_iterator的第二个参数表示元素之间的分隔符!

适用于所有的STL容器.

原创粉丝点击