c++从文件读和输出到文件的快速方法

在编写c++程序时,我们通常使用标准输入输出流,也就是键盘为输入,屏幕为输出。但有时我们希望从文件输入或者输出到文件,比如在做acm题时为了避免反复人工输入的麻烦。解决这一问题的快速方法是,在你的main函数中加入如下代码:

#ifndef ONLINE_JUDGE
	freopen("input.txt", "rt", stdin);
	freopen("output.txt", "wt+", stdout);
#endif

freopen函数用于重定向输入输出流,需要#include <stdio.h>。上面的代码是的程序用默认路径处的input.txt文件作为输入,output.txt文件作为输出。这样,程序不用做任何其他的修改,之前的标准输入输出操作将自动改变为相应文件内容的输入输出。

类似地,在windows中还可以用批处理文件的方式来重定向输入输出流,在已经生产的exe文件的目录下,创建一个bat文件,内容如下:

oj64<input.txt>output.txt

其中oj64为exe文件的名字,双击bat文件即可运行程序。这样做的效果和原理和第一种方法完全一样。

时间: 2024-08-27 23:15:42

c++从文件读和输出到文件的快速方法的相关文章

linux几种快速清空文件内容的方法

linux几种快速清空文件内容的方法 几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo "" > filename $ echo /dev/null > filename $ echo > filename $ cat /dev/null > filename

Beyond Compare和输出文件比较的方法

作为文件对比工具Beyond Compare 4 软件可以对文件进行比较和合并,用Beyond Compare软件进行文本合时,是可以将两个不同版本的同个文件的进行变更合并,生成一个输出文件.有些用户可能会遇到让生成的输出文件再次和原文件进行比对,这个时候可以利用合并会话操作界面直接跳转进行文本比较操作,下面我们就针对这个问题来给大家介绍介绍Beyond Compare和输出文件比较的方法? 原文:http://www.beyondcompare.cc/jiqiao/shuchu-wenjian

linux几种快速清空文件内容的方法:

几种快速清空文件内容的方法: $ : > filename #其中的 : 是一个占位符, 不产生任何输出. $ > filename $ echo “” > filename $ echo /dev/null > filename $ echo > filename $ cat /dev/null > filename 原文地址:https://www.cnblogs.com/saffibai/p/12246568.html

使用python获取webservice数据并输出到文件

上头要求设置TCP备案检查,给了个WEBSERVICE接口.查了2天,才确认还是python比较好用,我这水平也就写个脚本把数据导出,过滤检索还是用的shell.写此文备忘.WEBSERVICE接口脚本如下: #! /usr/bin/python #coding:utf-8 import codecs import suds def main(file_name, out_file): url = 'http://121.14.4.210:8088/icpautobj/ws/getIcp?wsd

C++ Primer Plus 第17章 输入,输出和文件

第17章 输入.输出和文件 1.当到达输入语句时,他将刷新输出缓冲区中当前所有的输出 2.streambuf类 提供了对缓冲区的各种操作 ios_base类表示流的一般特征 ios类基于ios_base,包含了一个指向streambuf对象的指针 ostream类从ios派生,提供可输出方法 istream类从ios派生,提供可输入方法 iostream类基于ostream和istream,继承了输入和输出方法 3.包含iostream则自动创建了8个流对象 cin 标准输入 wcin 宽字符流

Hive insert into directory 命令输出的文件没有列分隔符分析和解决

参考资料:http://stackoverflow.com/questions/16459790/hive-insert-overwrite-directory-command-output-is-not-separated-by-a-delimiter 问题描述: Hive insert into directory 命令输出的文件没有指定列分隔符,输出结果就像变成了一个字符串. 通过CREATE EXTERNAL TABLE 和load 方式,尝试了多种分隔符都不能正确的区分,所有的字段内容

编程题:输入文件名,输出该文件的内容。fgetc(fp)的使用。

编程题:输入文件名,输出该文件的内容.fgetc(fp)的使用. #include<stdio.h> void main() { FILE *fp; char out_ch,f_name[30]; scanf("%s",f_name); fp=fopen(f_name,"r"); if(fp!=NULL) {while((out_ch=fgetc(fp))!=EOF) putchar(out_ch); } else printf("\n\n\t

log4j分级输出日志文件

关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 [java] view plain copy log4j.rootLogger=info,stdout,info,debug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayo

用otl写的oracle取数工具,执行传入在查询语句,把结果输出到文件

项目中经常需要用到此类型的工具 1 #pragma warning (disable:4786) 2 #include <iostream> 3 #include <map> 4 #include <string> 5 using namespace std; 6 #include <stdio.h> 7 #include <stdlib.h> 8 #include <algorithm> 9 #define OTL_ORA9I //