首页 > 代码库 > 【技巧】freopen()函数在ACM中的应用
【技巧】freopen()函数在ACM中的应用
在做题目的过程当中,我们需要在本机上调试,当然我们可以把测试用例一遍一遍粘贴复制,也经常会遇到测试用例很多的时候,输入和输出混了,还要去找输出和题目当中的对照。另外,有的时候题目给的测试用例太少,需要自己或者队友给想几个临界条件,自己动手多添加几个测试用例,每测一遍都要动手输入的话麻烦又浪费时间。这时候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;
}
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。