标准程序库有供输入和输出用的iostream iterator,称为istream_iterator和ostream_iterator类,分别支持单一型别的元素读取和写入。它们包含在头文件#include <iterator>中!
例1:从标准设备中输入一些内容,然后排序后输出!
- #include <iostream>
- #include <iterator>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
- int main()
- {
- istream_iterator<string> in_file(cin);
- istream_iterator<string> eof;
- vector<string> vec;
- copy(in_file, eof, back_inserter(vec));
- sort(vec.begin(), vec.end());
- ostream_iterator<string> os(cout, " ");
- copy(vec.begin(), vec.end(), os);
- return 0;
- }
- #include <iostream>
- #include <iterator>
- #include <vector>
- #include <string>
- #include <algorithm>
- using namespace std;
- int main()
- {
- ifstream in_file("input_file.txt");
- ofstream out_file("output_file.txt");
- if (!in_file || !out_file)
- {
- cerr << "open file failed!" << endl;
- return -1;
- }
- istream_iterator<string> is(in_file);
- istream_iterator<string> eof;
- vector<string> vec;
- copy(is, eof, back_inserter(vec));
- sort(vec.begin(), vec.end());
- ostream_iterator<string> os(out_file, " ");
- copy(vec.begin(), vec.end(), os);
- return 0;
- }