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;

}

Logo

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

更多推荐