USB串口通信 xamarin struct ip vue例子 java商城源码 change事件 手机banner常用尺寸 ipex接口 arraylist删除指定元素 linux全局搜索文件 python调用方法 python在线教程 python语言 python编程题 python做界面 python函数内定义函数 python正则匹配数字 python读取字典 java结束线程 java可变参数 java包名 javaspring linux命令 liunx命令大全 俄罗斯方块java代码 路由器辐射大吗 bash命令 华为ff oracle表分区 海蜘蛛软路由 quickchm 截取字符串 qq魔法卡片登陆 砸金蛋抽奖活动 软碟通u盘装系统教程 微信超额20万怎么办 fabfilter 劳动节称号 剪影是什么意思
当前位置: 首页 > 学习教程  > 编程语言

ACM中freopen的使用

2020/8/11 19:54:41 文章标签:

百度百科上的定义:

freopen是被包含于C标准库头文件<stdio.h>中的一个函数,用于重定向输入输出流。该函数可以在不改变代码原貌的情况下改变输入输出环境,但使用时应当保证流是可靠的。

用途一:

输入重定向。当调试代码时,可以将测试数据存在 in.txt 文件中,用freopen读取

测试:

写出下面的代码

#include <cstdio>
#include <iostream>
using namespace std;

int main(void)
{
	int a, b;
	// 输入重定向,读取 in.txt 中的数据 
	freopen("in.txt", "r", stdin);
	
	cin >> a >> b;
	cout << a + b << endl;
	
	// 关闭输入流 
	fclose(stdin);
	
	return 0;
}

在当前代码的目录下创建一个 in.txt,里面的内容为

1 2

运行代码,运行结果为

3

用途二:

输出重定向。将输出数据保存在 out.txt 文件中

测试:

写出如下的代码

#include <cstdio>
#include <iostream>
using namespace std;

int main(void)
{
	int a, b;
	// 输入重定向,读取 in.txt 中的数据 
	freopen("in.txt", "r", stdin);
	// 输出重定向,将答案写入 out.txt 中 
	freopen("out.txt", "w", stdout);
	
	cin >> a >> b;
	cout << a + b << endl;
	
	// 关闭输入流 
	fclose(stdin);
	// 关闭输出流 
	fclose(stdout);
	
	return 0;
}

在当前代码的目录下创建一个 in.txt,里面的内容为

1 2

运行程序,发现当前目录出现了一个 out.txt,里面的内容为

3

用途三:

多组输入

测试:

#include <cstdio>
#include <iostream>
using namespace std;

int main(void)
{
	int a, b;
	// 输入重定向,读取 in.txt 中的数据 
	freopen("in.txt", "r", stdin);
	
	while (cin >> a >> b) {
		cout << a + b << endl;
	}
	
	// 关闭输入流 
	fclose(stdin);
	
	return 0;
}

在当前代码的目录下创建一个 in.txt,里面的内容为

1 1
2 2
3 3
4 4

运行代码,运行结果为

2
4
6
8

本文链接: http://www.dtmao.cc/news_show_100242.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?