c语言 freopen txt_C语言:freopen函数

当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境(例如VC等)中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。

使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。

函数名:freopen

声明:FILE *freopen( const char *path, const char *mode, FILE *stream );

所在文件: stdio.h

参数说明:

path: 文件名,用于存储输入输出的自定义文件名。

mode: 文件打开的模式。和fopen中的模式(如r-只读, w-写)相同。

stream: 一个文件,通常使用标准流文件。

返回值:成功,则返回一个path所指定文件的指针;失败,返回NULL。(一般可以不使用它的返回值)

功能:实现重定向,把预定义的标准流文件定向到由path指定的文件中。标准流文件具体是指stdin、stdout和stderr。其中stdin是标准输入流,默认为键盘;stdout是标准输出流,默认为屏幕;stderr是标准错误流,一般把屏幕设为默认。

下面以在VC下调试“计算a+b”的程序举例。

C语法:

#include

int main()

{

int a,b;

freopen("debug\\in.txt","r",stdin); //输入重定向,输入数据将从in.txt文件中读取

freopen("debug\\out.txt","w",stdout); //输出重定向,输出数据将保存在out.txt文件中

while(scanf("%d %d",&a,&b)!=EOF)

printf("%d\n",a+b);

fclose(stdin);//关闭文件

fclose(stdout);//关闭文件

return 0;

}

C++语法

#include

#include

int main()

{

int a,b;

freopen("debug\\in.txt","r",stdin); //输入重定向,输入数据将从in.txt文件中读取

freopen("debug\\out.txt","w",stdout); //输出重定向,输出数据将保存在out.txt文件中

while(cin>>a>>b)

cout<

fclose(stdin);//关闭文件

fclose(stdout);//关闭文件

return 0;

}

freopen("debug\\in.txt","r",stdin)的作用就是把标准输入流stdin重定向到debug\\in.txt文件中,这样在用scanf或是用cin输入时便不会从标准输入流读取数据,而是从in.txt文件中获取输入。只要把输入数据事先粘贴到in.txt,调试时就方便多了。

类似的,freopen("debug\\out.txt","w",stdout)的作用就是把stdout重定向到debug\\out.txt文件中,这样输出结果需要打开out.txt文件查看。

需要说明的是:

1. 在freopen("debug\\in.txt","r",stdin)中,将输入文件in.txt放在文件夹debug中,文件夹debug是在VC中建立工程文件时自动生成的调试文件夹。如果改成freopen("in.txt","r",stdin),则in.txt文件将放在所建立的工程文件夹下。in.txt文件也可以放在其他的文件夹下,所在路径写正确即可。

2. 可以不使用输出重定向,仍然在控制台查看输出。

3. 程序调试成功后,提交到oj时不要忘记把与重定向有关的语句删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业交换机如何判断性能的好坏呢?

当前的智能控制系统和工厂自动化系统常常采用工业交换机完成工业控制任务&#xff0c;工业以太网的应用非常普及。对于工业交换机的选购&#xff0c;把握工业交换机的主要性能指标是关键。那么&#xff0c;工业交换机如何判断性能的好坏呢&#xff1f;接下来就由飞畅科技的小编…

【渝粤教育】国家开放大学2018年春季 建筑结构基础 参考试题

科目编号&#xff1a;8 -6-6- 6 座位号 2017-2018学年度第二学期期末考试 建筑结构基础 试题 2018年 7 月 一、单选题&#xff08;本大题共10小题&#xff0c;每小题4分&#xff0c;共计40分&#xff09; &#xff08;★请考生务必将答案填入到下面对应序号的答题框中★&#…

zune自搭虚拟服务器离线升级,Zune 30g 固件更新至 3.3 记录

换成64位Win7后Zune的桌面管理器木有了&#xff0c;而64位版的Zune 1.3桌面安装麻烦死个人&#xff0c;各大论坛的115下载连接无一例外的都断链了&#xff0c;无奈只好把Zune升级至最新的3.3。升级记录&#xff1a;1. 在Zune官网 http://www.zune.net/zh-CH 下载最新版的桌面管…

21秋期末考试土力学与地基基础10445k1

1、严寒地区的粘土砖强度不会受到地基土中含水量的影响。&#xff08;2.5 分&#xff09; A&#xff0e;错误 B&#xff0e;正确 2、粘性土根据其塑性指数的不同&#xff0c;又可分为粘土和粉质粘土。&#xff08;2.5 分&#xff09; A&#xff0e;错误 B&#xff0e;正确 3、任…

工业交换机芯片选择需要注意什么事项呢?

相信不少工业级交换机品牌&#xff0c;在其工业交换机机内的芯片选择上一定很慎重&#xff0c;因为工业交换价的芯片将影响到其以后的使用&#xff0c;工业交换机常用的芯片有Marvell和Broadcom平台。那么&#xff0c;工业交换机芯片选择要注意什么呢&#xff1f;接下来就由飞畅…

21秋期末考试建设工程法规10221k1

1、当事人既约定违约金&#xff0c;又约定定金的&#xff0c;一方违约时&#xff0c;这两种违约责任&#xff08;  &#xff09;。&#xff08;1 分&#xff09; A&#xff0e;可合并使用 B&#xff0e;适用数值较小者 C&#xff0e;适用数值较大者 D&#xff0e;只能选择其一…

nginx mysql5.7_Centos7+Php7+Mysql5.7+Nginx源码安装实战部署手册

本文以Centos 7.1Php 7.1.3Mysql5.7.17为例,介绍Centos7Php7Mysql5.7Nginx 1.10.3源码安装实战部署的过程。一.准备工作软件获取二.安装Mysql安装目录/usr/local/mysql数据库目录/data/mysqldb1.安装编译工具yum -y install cmake gcc-c ncurses-devel perl-Data-Dumper boost …

【渝粤教育】21秋期末考试互联网营销概论10092k2

1、品牌最基本的含义是品牌代表着特定的&#xff08;&#xff09;。&#xff08;2 分&#xff09; A&#xff0e;消费者类型 B&#xff0e;商品属性 C&#xff0e;利益 D&#xff0e;文化 2、网上竞价模式主要有&#xff08; &#xff09;。&#xff08;2 分&#xff09; A&…

工业路由器和工业交换机的区别介绍

现在是信息时代,随着时代的进步,互联网是人们生活不可或缺的一部分。通常由许多不同类型的计算机网络相互连接而成。如果几个计算机网络在物理上连接在一起,它们之间并不能进行沟通,那么这种“互连”没有实际意义。所以在谈到“互连”时,就已经暗示这些相互连接的计算机可以进行…

JAX-RS和OpenAPI对Hypermedia API的支持:任重而道远

或早或晚&#xff0c;大多数积极使用REST&#xff08;ful&#xff09; Web服务和API的开发人员都偶然发现了这种真正的外星事物&#xff0c;即HATEOAS &#xff1a; 超文本作为应用程序状态的引擎 。 对HATEOAS是什么以及它与REST的关系的好奇最终将导致发现Richardson成熟度模…

【渝粤教育】21秋期末考试大学英语210262k2

1、He has_______since three days ago.&#xff08;2 分&#xff09; A&#xff0e;gone away B&#xff0e;gone C&#xff0e;left D&#xff0e;been away 2、What an interesting book! I don’t want to .&#xff08;2 分&#xff09; A&#xff0e;give to it B&#x…

【渝粤教育】21秋期末考试建筑工程计量与计价10517k1

1、施工排水降水中成井的计量单位是&#xff08; &#xff09;&#xff08;1 分&#xff09; A&#xff0e;天 B&#xff0e;m C&#xff0e;台次 D&#xff0e;昼夜 2、按广东省18定额规定&#xff0c;天棚装饰高度超过&#xff08;&#xff09;&#xff0c;可计算满堂脚手架。…

工业以太网交换机的光口和电口有什么区别?

对于从事安防传输设备行业的朋友们来说&#xff0c;相信大家对工业以太网交换机应该都不陌生。客户购买工业以太网交换机时&#xff0c;很多客户都会要几光几电的交换机&#xff0c;最近也接到不少客户的电话&#xff0c;都会询问工业以太网交换机的电口和光口有什么区别&#…

【渝粤教育】21秋期末考试混凝土结构10515k1

21秋期末考试混凝土结构10515k1 1、钢筋混凝土轴心受压构件&#xff0c;稳定系数是为了考虑&#xff1a; &#xff08; &#xff09;。&#xff08;3 分&#xff09; A&#xff0e;附加偏心距的影响 B&#xff0e;附加弯矩的影响 C&#xff0e;剪力的影响 D&#xff0e;承载力的…

工业以太网交换机与网络交换机的区别

工业以太网交换机与商用交换机在数据交换功能上基本一致&#xff0c;但在设计上以及在元器件的选用上&#xff0c;产品的强度和适用性方面更能满足工业现场的需要。此外在模块扩展方面也表现的比商用交换机更为灵活&#xff1a;有多种光口和电口可供选配。在材质的选用、产品的…

【渝粤教育】国家开放大学2018年春季 0004-21T有机合成单元反应 参考试题

科目编号&#xff1a;0004 座位号&#xff1a; 2017-2018学年度第二学期期末考试 有机合成单元过程 2018年6月 一、选择题&#xff08;每小题3分&#xff0c;共45分) 1、分子结构中具有&#xff08; )官能团的有机化合物&#xff0c;通常称之为羧酸。 —NO2 B.—COOH C.—CH…

【渝粤教育】国家开放大学2018年春季 0014-22T秘书学(一) 参考试题

试卷编号&#xff1a;0014 座位号 2017—2018学年度第二学期期末考试 秘书学&#xff08;一&#xff09; 试 题 2018年7月 1&#xff0e;秘书环境 2. 公共关系3. 辅助决策4. 协调关系1&#xff0e;秘书事务的内容有&#xff08; &#xff09; A&#xff0e;接打电话 B.车辆管…

mysql 内存溢出_mysql - MySQL在非常大的表上计算性能 - 堆栈内存溢出

我在Innodb中有一个表格&#xff0c;其中有超过1亿行。我必须知道外键 1时是否有超过5000行。我不需要确切的数字。我做了一些测试&#xff1a;> 16 seconds > 16秒中> 16 seconds > 16秒中> 0.6 seconds > 0.6秒我的网络和治疗时间会更长一些&#xff0c;但…

【渝粤教育】国家开放大学2018年春季 0045-22T烹饪原料学(1) 参考试题

编号&#xff1a;0045 座位号 2017&#xff5e;2018学年度第二学期期末考试 烹饪原料学&#xff08;1&#xff09;试题 2018年5月 一、名词解释&#xff08;本大题共4小题&#xff0c;每题5分&#xff0c;共20分&#xff09;。 腌腊制品 鱼翅 调味原料 香辛料 二、单项选…

光纤交换机的配置 光纤交换机的由来是什么

光纤交换机是一种高速的网络传输中继设备&#xff0c;又叫做光纤通道交换机、SAN交换机&#xff0c;它较普通交换机而言&#xff0c;采用了光纤电缆作为传输介质。那么&#xff0c;什么是光纤交换机&#xff0c;光纤交换机的由来是什么&#xff0c;光纤交换机的配置有哪些呢&am…