c++ primer 练习10.33_p363

声明:参考自:https://blog.csdn.net/flymoon87/article/details/71375126

练习10.33:编写程序,接受三个参数:一个输入文件和两个输出文件的文件名。输入文件保存的应该是整数。

使用istream_iterator读取输入文件。使用ostream_iterator将奇数写入第一个输出文件,每个值之后都跟一个空格。

将偶数写入第二个文件,每个值都独占一行。

 1 #include <iostream>
 2 #include <fstream>
 3 #include <iterator>
 4 
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     ifstream in("ints.txt"); //将文件ints.txt读取为输入流in中
10     ofstream out_even("file_even.txt");//创建输出流out_even,并将输出流输出为文件file_even.txt
11     ofstream out_odd("file_odd.txt");
12     istream_iterator<int> read(in), eof;//建立输入流in的迭代器read,输入流元素的类型为int
13     ostream_iterator<int> write_even(out_even, "
");//建立输出流out_even的迭代器write_even,输出流元素的类型为int,每个元素后边输出一个换行
14     ostream_iterator<int> write_odd(out_odd, " ");
15     while (read != eof)
16     {
17         if (*read % 2 == 0)
18         
19             *write_even++ = *read;//等价于write_even = *read
20         else
21         
22             *write_odd++ = *read;
23         
24         ++read;
25     }
26     return 0;
27 }
原文地址:https://www.cnblogs.com/hustsss/p/10602961.html