针对习题11.18,巩固了本小节的知识
#include <iostream>
#include <iterator>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
int main(int argc, char** argv)
{
if (argc !=4)
{
throw runtime_error("The input files are error! ");
}
ifstream inFile;
ofstream oddFile;
ofstream evenFile;
inFile.open(argv[1]);
oddFile.open(argv[2]);
evenFile.open(argv[3]);
if (!inFile || !oddFile || !evenFile)
{
throw runtime_error("Can't open the input file ! ");
}
istream_iterator<int> in_iter(inFile), eof;
ostream_iterator<int> out_odditer(oddFile, " ");
ostream_iterator<int> out_eveniter(evenFile, "\n");
while (in_iter != eof)
{
*out_odditer ++= *in_iter++;
*out_eveniter ++= *in_iter++;
}
oddFile.close();
evenFile.close();
return 0;
}
当输入文件如图所示:
其得到的两个输出文件内容如图所示: