问题背景
在使用devCpp的时候,运行一个题目总是需要手动粘贴样例,有些机子可能还不支持直接粘贴(比如学校机房防止作弊禁用粘贴),那就只能点击黑框框去粘贴进去,非常消耗时间。我们可以采用输出重定向来解决粘贴问题,省时省心省力!
具体实现
将输入输出重定向
注意替换路径!!!
//重定向输入
freopen("../yourPath/demo_in.txt","r",stdin);
//重定向输出 覆写
freopen("../yourPath/demo_out.txt","w",stdout);
这样我们就可以将输入从指定文件读取,输出到指定文件!
根据条件选择是否重定向
这里可以使用宏定义或者变量定义,搭配好#ifdef和if else就可以了
这里我们使用宏定义
#define DEBUG true
void initRedict(){
#ifdef DEBUG
cout<<"执行重定向"<<endl;
//重定向输入
freopen("../redict/demo/demo_in.txt","r",stdin);
//重定向输出 覆写
freopen("../redict/demo/demo_out.txt","w",stdout);
#endif
}
//在main函数里面调用即可
提交到判题机进行IO的时候注释掉就行了,使用if-else就将变量值修改即可
注意
输出重定向不止会重定向cout 还会重定向puts函数!
这是最好的时代,也是最坏的时代,
我们一无所有,我们巍然矗立!