- C++
少年大学习:freopen
- @ 2026-10-9 19:12:51
少年大学习:freopen
周知所众,在校选/区赛/市赛/省赛中都需要文件读写,那怎么简单地实现呢?当然是使用freopen啦。
话就多说,让我们开始吧:
一、freopen 是什么?
freopen是 C 标准库里的函数,C++ 中可以通过 <cstdio> 或 <bits/stdc++.h> 使用。它的作用是:把某个标准流重定向到指定文件。
函数原型:
FILE* freopen(const char* filename, const char* mode, FILE* stream);
三个参数:
-
filename:文件名,比如"sum.in"、"sum.out"。 -
mode:打开模式,常用"r"读、"w"写。 -
stream:要重定向的标准流,通常是stdin或stdout。
提示:返回成功时返回流指针,失败返回 NULL。
二、最常用写法
如果题目要求从 sum.in 读入,输出到 sum.out,那就这样写:
#include <bits/stdc++.h>
using namespace std;
int main() {
freopen("sum.in", "r", stdin);
freopen("sum.out", "w", stdout);
return 0;
}
三、总结
如果要用文件就这样写(xxx是文件名)
freopen("xxx.in", "r", stdin);
freopen("xxx.out", "w", stdout);
本地测注释掉freopen即可,千万不要忘了去注释和把输出的stdout写成stdin!!!
2 条评论
-
张正煊 LV 10 @ 2026-10-9 19:49:36
“千万不要忘了去注释和把输出的stdout写成stdin!!!”???
👍 1 -
@ 2026-10-9 19:49:12
👍👍👍
- 1