为了可以更加方便地输入输出、核对数据,可以把输入输出放到文件中。把输入输出放到文件中,有两种方法,一种是使用fopen、fscanf,另一种是重定向。
重定向:只需要在main入口处加入以下两个语句,之后可以使得scanf从input.txt读入,而不是屏幕读入,printf同理
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
为了更便捷地使用,可以这样,在定义LOCAL的时候就重定向,删去就是屏幕输入输出
#define LOCAL
#include<stdio.h>
long long loa[100005];
int main()
{
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
fopen版:打开文件、输入输出、关闭文件。如果想把fopen版程序改成标准输入输出,只需要赋值fin=stdin
优劣:重定向简单,但是不可同时写文件和标准OI;fopen繁琐但是灵活性大。