【技巧】freopen()函数在ACM中的应用
时间:2014-04-30 23:24:51
收藏:0
阅读:489
在做题目的过程当中,我们需要在本机上调试,当然我们可以把测试用例一遍一遍粘贴复制,也经常会遇到测试用例很多的时候,输入和输出混了,还要去找输出和题目当中的对照。另外,有的时候题目给的测试用例太少,需要自己或者队友给想几个临界条件,自己动手多添加几个测试用例,每测一遍都要动手输入的话麻烦又浪费时间。这时候freopen()上场了。
函数名:
freopen()
函数声明: FILE *freopen(const char *path,const char *mode,FILE
*stream);
所在头文件:#include<stdio.h>
参数说明:
path : 文件名,用于存储输入输出的自定义文件名。
mode : 文件打开的模式,和fopen中的模式(r 只读 w 可写)相同。
stream : 流文件。通常使用标准流文件,具体是指
stdin,stdout,stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,默认是屏幕。
通过调用freopen()就可以修改标准流文件的默认值,实现重定向。
例子:
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
int a,b;
freopen("in.txt","r",stdin); //输入重定向,输入数据将从in.txt文件中读取
freopen("out.txt","w",stdout); //输出重定向,输出数据将保存在out.txt文件中
while(cin>> a
>> b)
cout<< a+b <<endl; //
注意使用endl
fclose(stdin);//关闭文件
fclose(stdout);//关闭文件
return 0;
}
评论(0)