using namespace std;
int main(){
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
int x,y;
cin>>x>>y;
cout<<x+y<<endl;
return 0;
}
上述代码,自动读入.in文件中的内容作为自动输入的内容;
并且,将下文的任何cout输出内容都保存到.out文件中。
如果你想取消保存到.out文件中,恢复到原来的控制台输入,请使用如下代码。
int original_stdout = dup(1); //1是stdout的默认描述符
freopen("sum.in","r",stdin);
freopen("sum.out","w",stdout);
int x,y;
cin>>x>>y;
cout<<x+y<<endl;
//3.恢复 stdout 到控制台(核心步骤)
dup2(original_stdout, 1); // 用原始描述符覆盖当前 stdout 的描述符
close(original_stdout); // 关闭保存的
cout<<x+y<<endl;
return 0;