C++ STL中定义了提供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入:
(1)头文件:#include <iterator>
(2)定义:
1)定义输入流迭代器:istream_iterator<std::string> is( std::cin);
注释:声明迭代器变量名is,并将其配置到输入流std::cin
2)定义输出流迭代器(第二个参数表示分隔符):ostream_iterator<std::string> os( std::cout, " " );
注释:声明迭代器变量名os,第一个参数是输出流std::out,第二个参数可以是C-Sty1e字符串,也可以是字符串常量。它用来表示各个元素被输出时的分隔符,默认情形下输出的各个元素并无任何分隔符。
3)定义结束流迭代器:istream_iterator<std::string> eof;
注释:声明结束流迭代器名eof,只要在定义时不为它指定istream对象,它就代表了end-of-file,即输入的结束。在Windows下ctrl+z表示结束,Linux下ctrl+d表示结束。
(3)例子:通过输入迭代器i