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

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

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




头文件

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


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

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

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

相关文章

【数据结构】栈(Stack)的介绍

栈是只能在某一端插入和删除的特殊线性表。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一端称栈底。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表(LIF...

字符串的输入输出汇总

做字符串的题目的时候,经常会遇到输入输出不对的情况,这篇文章就简单总结一下字符串常见的输入输出。2.cin基本操作:#include<iostream> #include<cstd...

C++ 如何隐藏光标

在C++控制台做小游戏的时候,光标一直在闪,影响体验效果,我们可以通过下面的函数隐藏光标位置。void HideCursor(){ CONSOLE_CURSOR_INFO cu...

C++将数据写入磁盘文件

0.前言要求:在任意路径下新建一个文本文档,向该文档中写入数据。以'#'结束字符串的输入。关键技术:ch=fputc(ch,fp);该函数的作用是把一个字符写到磁盘文件(fp所指的磁盘...

组合数的写法

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

数组的不确定长度输入

0.前言我们在学习数组的时候一般都会告诉你数组的长度,然后for循环去遍历。但是有一类问题是没有n的,也就是没有告诉长度的。1.方法第一种:(数组)#include<iostream>...