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

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

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




头文件

#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; 
}


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

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

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

相关文章

c++ 如何用链表存取数据

c++ 如何用链表存取数据

由于单链表的每个结点都有一个数据域和一个指针域。所以,每个结点可以定义成一个记录。其中,DATA数据元素,可以为你想要储存的任何数据格式,可以是数组,可以是int,甚至可以是结构体(这就是传说中的结构...

常见的数据范围

一、总结名称字节位数(二进制)最小值最大值位数(十进制)bool18011char18shrot 216    (-2^15  到2^15  -1)-...

【算法】分治算法

前言所谓分治算法就是指分而治之,即将较大规模的问题分解成几个较小规模的问题,通过对较小问题的求解达到对整个问题的求解。当我们将问题分解成两个较小问题求解时的分治方法称为二分法。比如,我们玩过最简单的猜...

组合数的写法

前面我们写过 全排列和排列数 等。这篇文章。我们写一下组合数。例题:从n个数中,选出m个,一共有多少种不同的选法?这是一道典型的组合数公式。我们直接用dfs公式肯定会出现重复的。#include<...

C++链表结构——单链表

0.前言存储方式分为顺序存储结构和链式存储结构。顺序存储结构的优缺点:优点:可以通过一个简单的公式随机存取表中的任一元素,逻辑关系上相邻的两个元素在物理位置上也是相邻的,且很容易找到前驱跟后继元素。缺...

C++中双冒号(::)的用法

一、作用域符号前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分如:A,B表示两个类,在A,B中都有成员member。那么A::member就...