freopen---重定向文件流----解决刷oj时手动输入的烦恼

刷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语言,Oj)