1 何谓输入输出重定向?


默认情况下输入是由键盘输入的。输出是默认的输出到屏幕上。而输入输出重定向就是改变默认的输入输出方向。。呵呵。


2 freopen()函数


函数名:freopen

声明:FILE *freopen( const char *path, const char *mode, FILE *stream );

所在文件: stdio.h

参数说明:

path: 文件名,用于存储输入输出的自定义文件名。

mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。

stream: 一个文件,通常使用标准流文件。

返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。(一般可以不使用它的返回值)


与该函数相对应的函数是


下面我们就用这两个函数来实现一下输入输出重定向




int fclose ( FILE * stream );

返回值表示:若stream被成功关闭将返回一个0值,否则返回EOF.

Code:

#include <iostream>  

#include <string>  

using namespace std;  

int main()  

{  

  freopen("out.txt","w",stdout);  

  string str;  

  while (cin >> str)  

  cout << str << endl;  

  fclose(stdout);  

   return 0;  

}  

这个程序实现了输出重定向,即:输出不再是默认的屏幕了,而是输出到了out.txt这个文件中。同样,用此种方法我们也可以实现输入重定向。