freopen()实现标准输入流标准输出流重定向
stdin - "标准输入" stdout - "标准输出" stderr - "标准错误"r -"只读访问" w - "只写访问" a - "追加写入"实现重定向,把与定义的标准流文件定向到由path指定的文件中。标准流文件具体是指 stdin/stdout和stderr。* mode 文件打开的模式。*stream 一个文件,通常使用标准流文件。stdout标准输出流,默认是屏幕。stderr
·
1.头文件
stdio.h或者cstdio
2.声明
FILE *freopen(const char *filename,const char *mode,FILE *stream)
3.参数
* filename 文件名,用于存储输入输出的自定义文件名
* mode 文件打开的模式。和fopen中的模式相同
r -"只读访问" w - "只写访问" a - "追加写入"
*stream 一个文件,通常使用标准流文件
stdin - "标准输入" stdout - "标准输出" stderr - "标准错误"
4.功能
实现重定向,把与定义的标准流文件定向到由path指定的文件中。
标准流文件具体是指 stdin/stdout和stderr。
stdin标准输入流,默认是键盘
stdout标准输出流,默认是屏幕
stderr标准错误流,默认是屏幕
5.实例
(1)stdout到一个文本文件的重定向,把输出到屏幕的文本输出到一个文本文件中。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
if(freopen("./output.txt","r",stdout)==NULL)
fprintf(stderr,"error redirecting stdout\n");
for(int i=0;i<10;i++)
printf("%3d",i);
printf("\n");
fclose(stdout);
return 0;
}
(2)从文件in.txt中读入数据,打印到屏幕上
#include <iostream>
#include <cstdio>
int main()
{
int a,b;
freopen("./in.txt","r",stdin);
while(cin >> a >> b)
cout << a+b <<endl;
fclose(stdin);
return 0;
}
(3)从文件in.txt中读入数据,计算加输出到out.txt中
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a,b;
freopen("./in.txt","r",stdin);
freopen("out.txt","a",stdout);
while(cin >> a >> b)
cout << a+b << endl;
fclose(stdin);
fclose(stdout);
return 0;
}

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)