我们刷题的时候除了编码外,测试也是非常重要的,当测试样例比较小的时候,我们完全可以手打,但是当测试样例比较大时候,我们就抓狂了~

相信不少人都知道利用文件流,但是应该还有新手跟我一样,一遍又一遍地输入测试样例~

其实很简单,就两句代码。

#include<cstdio> //包含头文件,c语言的就是stdio.h

freopen("in.txt","r",stdin);//在main 函数最开始加入,在当前工程下创建in.txt,之后加入数据

fclose(stdin);//在程序return 0前加入。

当然,如果纯粹是上面的代码,还是很琐碎,需要我们每次提交时候注释掉……

为了方便大家,很多OJ都使用ONLINE_JUDGE宏。

有就是我们这样就可以,在自己测试后,直接提交。

#include<iostream>
#include<cstdio>
using namespace std; int main(){
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif #ifndef ONLINE_JUDGE
fclose(stdin);
#endif return 0; }

当然,如果你跟我一样是使用linux+codeblock来写代码的话,我这里还有一个shell脚本,可以自动生成一些每次都必写的东西。

其实我觉得用vim是很好的,但是哎,真的没有IDE,写代码很懊恼……

当然,我写shell是新手,所以大神不要见怪。。

当然,注释断,如果觉得没用就直接删掉吧。

这个是cpp的。

#!/bin/sh
#vi /usr/share/codeblocks/templates/wizard/console/cpp
Curtime=`date "+%Y-%m-%d "`
echo '/*******************************************************************************/
/* OS : 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 UTC 2013 GNU/Linux
* Compiler : g++ (GCC) 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
* Encoding : UTF8
* Date :' > /usr/share/codeblocks/templates/wizard/console/cpp/main.cpp $Curtime >> /usr/share/codeblocks/templates/wizard/console/cpp/main.cpp
echo ' * All Rights Reserved XXX.
*****************************************************************************/
/* Description: ***************************************************************
*****************************************************************************/
/* Analysis: ******************************************************************
*****************************************************************************/
/*****************************************************************************/
' >> /usr/share/codeblocks/templates/wizard/console/cpp/main.cpp
echo '#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; int main(){
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif #ifndef ONLINE_JUDGE
fclose(stdin);
#endif return 0; } '>> /usr/share/codeblocks/templates/wizard/console/cpp/main.cpp echo 'cpp.sh'
exit

这个是C的。

#!/bin/sh
#vi /usr/share/codeblocks/templates/wizard/console/cpp
Curtime=`date "+%Y-%m-%d "`
echo '/*******************************************************************************/
/* OS : 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 UTC 2013 GNU/Linux
* Compiler : GCC 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
* Encoding : UTF8
* Date :' > /usr/share/codeblocks/templates/wizard/console/c/main.c $Curtime >> /usr/share/codeblocks/templates/wizard/console/c/main.c
echo ' * All Rights Reserved by yaolong.
*****************************************************************************/
/* Description: ***************************************************************
*****************************************************************************/
/* Analysis: ******************************************************************
*****************************************************************************/
/*****************************************************************************/
' >> /usr/share/codeblocks/templates/wizard/console/c/main.c
echo ' #include <stdio.h>
#include <string.h> int main(){
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif #ifndef ONLINE_JUDGE
fclose(stdin);
#endif return 0;
}
'>> /usr/share/codeblocks/templates/wizard/console/c/main.c
echo 'c.sh' exit


												

OJ的文件流操作的更多相关文章

  1. delphi 基础之三 文件流操作

    文件流操作 Delphi操作流文件:什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具.在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的, ...

  2. (C/C++学习)2.C语言中文件流操作基本函数总结

    函数所在头文件:stdio.h 说明:前半部分主要为对各个文件流操作函数的例举,后半部分着重于上机运行分析.文中部分引用自王桂林老师的C/C++课件. 1.FIELE *fopen(const cha ...

  3. c++ ofstream & ifstream文件流操作

    ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; //ofstream & ifstream inherit from istream class ...

  4. c#基础语言编程-文件流操作

    引言 在System.IO 命名空间下提供了一系列的类,我们可以通过相应的类进行文件.目录.数据流的操作. 1.File类:提供用于创建.复制.删除.移动和打开文件的静态方法.File类 2.File ...

  5. C++中输入输出流及文件流操作笔记

    1.流的控制 iomanip          在使用格式化I/O时应包含此头文件.    stdiostream   用于混合使用C和C + +的I/O机制时,例如想将C程序转变为C++程序 2.类 ...

  6. C++文件编程(文件流操作)

    给出了比较常见的文件操作,包括二进制文件操作.代码如下: #include<iostream> #include<cstdio> #include<cstring> ...

  7. (十四)QFile操作,QByteArray,文件流操作,QTextStream,QDataStream,QFileInfo, QIODevice

    QFile f 1.readall #include "widget.h" #include "ui_widget.h" #include <QFileD ...

  8. C++学习7-面向对象编程基础(多态性与虚函数、 IO文件流操作)

    多态 多态性是指对不同类的对象发出相同的消息将返回不同的行为,消息主要是指类的成员函数的调用,不同的行为是指不同的实现: 函数重载 函数重载是多态性的一种简单形式,它是指允许在相同的作用域内,相同的函 ...

  9. C++中文件流操作

    一.C++中流和流操作符 C++中把数据之间的传输操作称为流,流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流.C++输入输出除了 ...

随机推荐

  1. HDOJ/HDU Tempter of the Bone(深搜+奇偶性剪枝)

    Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, ...

  2. CUDA编程-(3)图形流水线时代

    图形流水线时代 图中所说的顶点,为多边型的角.GeForce系列设计图形流水型的目的就是渲染三角形的图元,这里指三角线图元的角.三角形图元越小,图片的质量就越好. 顶点控制的作用:从CPU中,接受参数 ...

  3. 在CentOS上为DiscuzX3安装ImageMagick支持。

    找了几篇外文的,写的很好,按照参考安装成功! http://www.tecmint.com/install-imagemagick-in-linux/ ImageMagick is an free o ...

  4. Xcode插件筛选

    Xcode高效插件推荐 好像很多iOS开发的同学都不知道Xcode有插件这么一说,所以整理了一下自己用的Xcode高效插件,分享给大家 下列插件在Xcode 7.0.1 版本做测试通过可以使用 在Xc ...

  5. 转 wordpress搭建

    新建一个博客文件 在搭建博客的过程中,我们需要创建一个文件,用来存储博客的相关信息.这些信息包括域名的信息,主机空间服务器ip,FTP登录名和密码,空间面板登录信息等等,只要是与该博客有关的信息,全部 ...

  6. 将多个Sheet导入到同一个Excel文件中

    实体类excel import java.util.List; /** * 功能: * 描述: * @author * @date 2015-3-19 下午5:15:48 */ public clas ...

  7. php中数组可以不写下标

    <?php $array[10] = 10; for($i = 0; $i < 100; $i++){ $array[] = $i; } var_dump($array) ?> $a ...

  8. Python 库大全

    作者:Lingfeng Ai链接:http://www.zhihu.com/question/24590883/answer/92420471来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非 ...

  9. 绿色tftpserver:tftpd32的配置

    嵌入式开发中少不了用到TFTP服务,它的功能主要是用来给目标板传输文件. tftpd32.exe是如今最经常使用的TFTPserver,今天就来介绍它的配置方法. 1.从这里 下载新版本号tftpd3 ...

  10. ARCproject中加入非ARC文件,或者非ARC环境中加入ARC文件

    ARC与非ARC在一个项目中同一时候使用, 选择项目中的Targets,选中你所要操作的Target,选Build Phases,在当中Complie Sources中选择须要ARC的文件双击,并在输 ...