当前位置:首页 > C++知识 > 正文内容

信息学奥赛中文件流的写法

亿万年的星光5年前 (2021-04-03)C++知识2438




头文件

#include<cstdio>

也可以用万能头


格式如下:

int main(){
	freopen("xxxx.in","r",stdin);
	freopen("xxxx.out","w",stdout);	
	
	/*代码*/
	fclose(stdin);
	fclose(stdout);
	retrun 0; 
}



其中, r是read的缩写,w是write的缩写。

xxxx就是你要替换掉的内容,比如下面这道题。


可以看到一共四道题,每道题目都有一个英文名字。而且给出了输入文件名和输出文件名。

对于第一题成绩来说,我们的代码应该如下:

int main(){
	freopen("score.in","r",stdin);
	freopen("score.out","w",stdout);	
	
	/*你的代码*/
	fclose(stdin);
	fclose(stdout);
	retrun 0; 
}


对于第二题,应该 如下:

int main(){
	freopen("librarian.in","r",stdin);
	freopen("librarian.out","w",stdout);	
	
	/*你的代码*/
	fclose(stdin);
	fclose(stdout);
	retrun 0; 
}


需要注意的是,如果你写了文件流,去调试代码的时候,你是无法输入的。所以,我们在测试我们代码的时候会把文件流暂时注释掉,比如下面这样:

int main(){
	//freopen("score.in","r",stdin);
	//freopen("score.out","w",stdout);	
	
	/*你的代码*/
	//fclose(stdin);
	//fclose(stdout);
	retrun 0; 
}

等觉得程序没有问题了,可以提交了,就取消注释即可。

int main(){
	freopen("score.in","r",stdin);
	freopen("score.out","w",stdout);	
	
	/*你的代码*/
	fclose(stdin);
	fclose(stdout);
	retrun 0; 
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

标签: 文件流
分享给朋友:

相关文章

取模运算总结——数论

编程竞赛有相当一部分题目的结果过于庞大,整数类型无法存储,往往只要求输出取模的结果。例如(a+b)%p,若a+b的结果我们存储不了,再去取模,结果显然不对,我们为了防止溢出,可以先分别对a取模,b取模...

【C++图形化编程】鼠标函数及鼠标画板

【C++图形化编程】鼠标函数及鼠标画板

0.前言这篇文章简单介绍一下利用鼠标画图的程序#include<graphics.h> #include<conio.h> int main(){ initg...

【题解】盈亏问题

【题目描述】一群人团购一件物品:如果每人出 a元,所付总金额比物价多出了x 元;如果每人少出 1元,也就是每人出a-1元,所付总金额比物价少了y元。给定 a,x,y求参与团购的人数及该物品的...

C++中的溢出

一、编程中的溢出   溢出是C++语言中最常见的漏洞。最常见的溢出包括数组溢出、数溢出、缓冲区溢出、指针溢出以及栈溢出。二、数组溢出    ...

CSP复赛必备,时间与空间估算

CSP复赛必备,时间与空间估算

一、时间估算       在竞赛环境中,一般运行程序的时间是1s。这要求我们尽量不要循环太多次数,一般情况下,建议将时间复杂度控制在10^8以内。 ...

C++中箭头指针的含义及用法

C++中箭头指针的含义及用法

0.前言c++中我们在一些程序中看到箭头 p—>stu 类似于这样的表示。今天就简单来解释一下点运算和箭头运算。1.点运算常见的点一般出现在结构体中,比如下面的代码:#include<io...