一、标准输入输出流:
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <string>
using namespace std;
int main()
{
istream_iterator<string> is(cin);
istream_iterator<string> eof;
vector<string> text;
copy(is, eof, back_inserter(text));
sort(text.begin(), text.end());
ostream_iterator<string> os(cout, " ");
copy(text.begin(), text.end(), os);
return 0;
}
输入:
1 2 5 1
4 3 1 2
^Z
输出:
1 1 1 2 2 3 4 5
二、文件输入输出
将istream_iterator绑定至ifstream object;
将ostream_iterator绑定至ofstream object。
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <string>
#include <fstream>
using namespace std;
int main()
{
ifstream in_file("in.txt");
ofstream out_file("out.txt");
if (!in_file || !out_file)
{
cerr << "can't open the files!\n";
return -1;
}
istream_iterator<string> is(in_file);
istream_iterator<string> eof;
vector<string> text;
copy(is, eof, back_inserter(text));
sort(text.begin(), text.end());
ostream_iterator<string> os(out_file, " ");
copy(text.begin(), text.end(), os);
return 0;
}