输入输出重定向
什么是输入输出重定向:
区别与标准的输入输出——在终端输入输出;使用输入输出重定向——程序可以从文件中读入数据,并可以将数据输出到文件中而不是输出到屏幕上。MS-DOS和UNIX,可以对输入输出进行重定向。
重定向的好处:
在设计程序时,必须指定数据的输入来源(如键盘),以及数据处理完毕后的输出目的地(如文件,打印机),所以必须在程序中指定输入/输入设备后才能运行。可是指定了某个输入/输入设备后,如果再想由其他设备输入/输出,则必须要修改源程序,重新进行编译、链接。输入输出重定向可解决这个问题。
输入输出重定向的实现:
程序>文件A:将程序的输出重定向送往文件A,文件A先前的内容将被清除。
程序>>文件A:将程序的输出重定向送往文件A,并附加至文件A的末尾,文件A先前的内容不会被清楚。
程序<文件B:将文件B的内容送往程序处理。
重定向的好处:
在设计程序时,必须指定数据的输入来源(如键盘),以及数据处理完毕后的输出目的地(如文件,打印机),所以必须在程序中指定输入/输入设备后才能运行。可是指定了某个输入/输入设备后,如果再想由其他设备输入/输出,则必须要修改源程序,重新进行编译、链接。输入输出重定向可解决这个问题。
举例:
C\C++可以实现输入输出重定向。
例:
#include <iostream>
#include <string>
using namespace std;
int main()
{ string word;
while ( cin >> word )当到达文件结尾处为假
cout << "word read is: " << word <<'\n';
cout << "ok: no more words to read: bye! ";
return 0;
}
输入重定向(C++ Primer p16):
进入到cmd环境下,找到文件的所在的目录D:\Microsoft Visual Studio\MyProjects\c1\Debug,事先存放一个input_file文件(由文件输入,而不是在屏幕上输入——输入重定向)。在命令提示符下输入c1.exe<input_file回车,会将input_file中的文件内容读出,显示在屏幕上。
预先在D:\Microsoft Visual Studio\MyProjects\c1\Debug目录下存放output_file文件,然后输入如下:
此时,打开文件output_file,会看到先前屏幕上显示的内容出现在文件中,实现了输出重定向。
做如下输入
打开output_file文件,会发现程序中的内容追击在先前文件的末尾。