在刷题测试程序时,为了避免每次都手工输入,我们可以把输入数据保存在文件中;为了避免输出太长,我们将输出也写入文件中,方便与标准答案文件进行比较。

文件使用一般有两种方法:输入输出重定向、fopen。

  • 重定向
    这种方法比较简单,只要在main()函数的开始加上:
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);

就可以将标准I/O(键盘输入、屏幕输出)转为读写文件。

万一比赛要求标准I/O,而你还想用文件操作来测试代码时,提交时切记删除重定向语句。

为了避免你忘记这茬,可以如下处理:

#define NATIVE
#include <stdio.h> int main(int argc,char** argv)
{
#ifdef NATIVE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
//your code here return ;
}

这样子,本机测试时可以使用重定向;如果要求标准I/O,提交时只需删掉#define NATIVE即可。

  • fopen
    如果比赛要求使用文件读写,但禁止重定向方式,这时可以使用fopen方式:
#include <stdio.h>

int main(int argc,char** argv)
{
FILE *fin, *fout;
fin = fopen("input.txt"."rb");
fout = fopen("output.txt","wb"); int a; //把scanf改为fscanf,把printf改为fprintf
fscanf(fin,"%d",&a);
fprintf(fout,"%d",a);
//your code here fclose(fin);
fclose(fout); return ;
}

这时候,如果要求标准I/O,只需要:

fin = stdin;
fout = stdout;

最后,简单说下文件比较(windows下):
进入cmd,如果两个文件在同一目录:

fc .txt .txt

如果两个文件不在同一目录:

fc "c:\1.txt" "d:\2.txt"

可以使用fc /?查看fc命令的一些参数:

File Operations的更多相关文章

  1. python file operations

    原文地址 总是记不住API.昨晚写的时候用到了这些,但是没记住,于是就索性整理一下吧: python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当 ...

  2. File operations 1

    1:只读(‘r' 和 ’rb'以字节读) f = open('d:\模特主妇护士班主任.txt',mode='r',encoding='UTF-8') content = f.read() print ...

  3. backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized.

    昨天在检查YourSQLDba备份时,发现有台数据库做备份时出现了下面错误信息,如下所示: <Exec>   <ctx>yMaint.ShrinkLog</ctx> ...

  4. VMWare File Format Learning && Use VHD File To Boot VMWare && CoreOS Docker Configuration And Running

    目录 . Virtual Machine Introduce . Vmware Image File Format . VHD File Format . Convert VHD File Into ...

  5. Python File I/O

    File is a named location on disk to store related information. It is used to permanently store data ...

  6. File Operation using SHFileOperation

    SHFILEOPSTRUCT Original link: http://winapi.freetechsecrets.com/win32/WIN32SHFILEOPSTRUCT.htm Refere ...

  7. python文件和文件夹訪问File and Directory Access

    http://blog.csdn.net/pipisorry/article/details/47907589 os.path - Common pathname manipulations 都是和路 ...

  8. Java-Io之文件File

    File是"文件"和"目录路径名"的抽象表示形式.File之间继承Object,实现了Serializable和Comparable接口,因此文件支持File对 ...

  9. MIT-6.828-JOS-lab5:File system, Spawn and Shell

    Lab 5: File system, Spawn and Shell tags: mit-6.828 os 概述 本lab将实现JOS的文件系统,只要包括如下四部分: 引入一个文件系统进程(FS进程 ...

随机推荐

  1. python-nmap 使用基础

    前言 python-nmap是一个Python库,可帮助您使用nmap端口扫描程序.它可以轻松操纵nmap扫描结果,将是一个完美的选择想要自动执行扫描任务的系统管理员的工具和报告. 它还支持nmap脚 ...

  2. 安卓开发学习日记 DAY3——TextView,EditView,ImageView

    今天学习了一些控件的使用方法,包括TextView,EditView,ImageView 1.TextView,输出一个文本呗 主要属性有 android:id 标志 android:layout_w ...

  3. React Native简史

    诞生 React Native 诞生于 2013 年的 Facebook 内部黑客马拉松(hackathon): In the essence of Facebook’s hacker culture ...

  4. k8s yaml示例

    Kind选择 https://kubernetes.io/zh/docs/concepts/workloads/controllers/ Pod示例 apiVersion : v1 #版本v1 kin ...

  5. 11-Json提取器使用

    1.使用json提取关键信息 有时候接口返回数据为json数据或者直接为一个列表,可使用这个更简单快捷 json数据: 这样的,数据有在result里面以列表形式存在,也有在列表外的,可在json提取 ...

  6. 通过Powershell检查SMTP地址是否被检测网站列入黑名单

    通常,我们可能因为某些用户发送了一些非常规邮件,邮件出口地址被一些权威网站列入黑名单,导致大量业务邮件无法正常发送.这时候,我们可以通过powershell写一些关于IP地址检测的脚本,并列入计划任务 ...

  7. Pormetheus(一)

    (1)Prometheus由来普罗米修斯的灵感来自于谷歌的Borgmon.它最初是由马特·t·普劳德(Matt T. Proud)作为一个研究项目开发的,普劳德曾是谷歌(google)的一名雇员.在普 ...

  8. Application.Exit

    Application.Exit:通知winform消息循环退出.Environment.Exit:终止当前进程,返回exitcode给操作系统 Application.Exit会在所有前台线程退出后 ...

  9. Daily Scrum 1/14/2016

    Zhaoyang & Yandong: Still optimizing the speech input interface Dong & Fuchen: Image asynchr ...

  10. Problem F Free Weights

    二分答案. 思路:对于二分给定的mid,即当前允许移动的最大重量,我们可以把小于改重量的标记一下,然后把没有标记的按照顺序放到另一个数组,然后判断是否满足两两相同. #include<bits/ ...