刷oj时每次都手动输入很不方便---好在输入段其实也是一种流我们可以使用文件定向到标准输入与输出流来简便处理输入与输出问题。
先介绍下函数
FILE * freopen ( const char * filename, const char * mode, FILE * stream );
【参数说明】
filename: 要打开的文件名
mode: 文件打开的模式,和fopen中的模式(r/w)相同
stream: 文件指针,通常使用标准流文件(stdin/stdout/stderr)
使用方法:
#define LOCAL
int main(){
#ifdef LOCAL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
/*写上原来的代码*/
return 0;
}
使用宏定义可以在本机调试时使用文件作为标准输入输出流,而提交代码时删除宏定义即可
最后如果想要在使用键盘和屏幕作为输出输入流终端可以加上如下代码:
fclose(stdin);
fclose(stdout);
freopen("CON", "r", stdin);
freopen("CON","w",stdout);

本文介绍如何利用C/C++中的freopen函数将文件输入输出定向为标准输入输出流,以简化在线评测(OJ)中代码的输入输出操作。通过使用宏定义LOCAL,在本地调试时使用文件作为标准输入输出流,而在提交代码时则直接使用终端输入输出。
965

被折叠的 条评论
为什么被折叠?



