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, "\n");//建立输出流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 }