![](/notes/imgs/wechat-color.jpg)
8.3 文件操作freopen
发布时间:
freopen
命令格式: FILE * freopen ( const char * filename, const char * mode, FILE * stream );
- 引用 #include <cstdio>
- filename: 要打开的文件名
- mode: 文件打开的模式(r/w)
- stream: 文件指针,通常使用标准流文件(stdin/stdout/stderr)stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认
基础用例1
js
#include <cstdio> //使用freopen语句,须调用cstdio库
// #include <iostream>//cin cout 须调用 iostream库
using namespace std;
int main() {
freopen("cstdio_in.txt", "r", stdin); // 定义输入文件名
freopen("cstdio_out.txt", "w", stdout); // 定义输出文件名
int temp ;
scanf("%d", &temp); //转为读取文件
printf("%d\n", temp);//转为输出到文件
// cin>>temp;
// cout<<temp<<endl;
fclose(stdin);
fclose(stdout); // 关闭文件,可省略
return 0;
}
in.txt
js
1
2
3
out.txt
js
1
2
3
提高用例2:
js
#include <cstdio>
int main() {
freopen("in.txt", "r", stdin); // 定义输入文件名
freopen("out.txt", "w", stdout); // 定义输出文件名
int temp, sum = 0;
//(cin>>temp)从输入文件中读入数据,在C++中非0为真
while (scanf("%d", &temp) == 1){
sum = sum + temp;
}
printf("%d\n", sum); // cout<<sum<<endl;
fclose(stdin);
fclose(stdout); // 关闭文件,可省略
return 0;
}
in.txt文件内容
js
1 2 3 4 5
运行结果 out.txt文件内容为
js
15