可以使用
#ifndef ONLINE_JUDGE
freopen("...", "r", stdin);
#endif
在 OJ 上由于定义了 ONLINE_JUDGE
宏,freopen
自动被注释。
10175101282 edited 6 年,11 月前
首先需要这样一个文件夹,AC放标程,WA放错误的程序,记得编译成exe。
@echo off
WA.exe < Input.txt > WA.out
AC.exe < Input.txt > AC.out
fc WA.out AC.out
pause
bat代码解释(可跳过):
第一行隐藏回显,可加可不加,加了好看一点而已。
二三行将Input重定向至exe的输入并将输出重定向至.out文件(类似linux操作)。
第四行fc(file compare)比较两个输出文件,如果没有差异输出“找不到差异”,否则分别输出文件内容。
最后的pause是为了程序执行完后不立即关闭,便于查看结果。
于是终于不用freopen了~
%, 感谢补充!