freopen()函数的使用及如何返回控制台

来源:互联网 发布:大数据咨询公司 编辑:程序博客网 时间:2024/06/02 00:01

在调试程序的时候,如果输入数据量很大,为了避免重复手动地输入大量的数据,为了节约宝贵的时间,提高调试代码的效率,可以使用 freopen();函数来实现。


函数原型:FILE *freopen ( const char *filename, const char *mode, FILE *stream );
【头文件】  include "stdio.h"
【参数说明】
          filename: 要打开的文件名
          mode: 文件打开的模式,和fopen中的模式(r/w)相同
          stream: 文件指针,通常使用标准流文件(stdin/stdout/stderr)


   具体的使用方法就是在代码前面加上一句 freopen("input.txt", "r", stdin);
再在和源文件同一个文件夹里新建一个文档命名为"input.txt".把测试数据写入里面即可。
还可以再加一句 freopen("output.txt", "w", stdout);
这样程序运行成功之后,就会自动在文件夹下建一个文档"output.txt",并且对应于测试数据的输出答案已经写入该文档。


还有一个很重要的问题:如果你不想输入或输出到文件了,要恢复句柄,可以重新打开标准控制台设备文件,这个设备文件的名字是与操作系统相关:

DOS/Win:  freopen("CON", "r", stdin);
          freopen("CON", "w", stdout);
Linux:    freopen("/dev/console", "r", stdin);

0 0
原创粉丝点击