利用文件重定向提高调试效率(已阅加重点划)
2014-02-14 13:26
302 查看
编程得到正确结果前,往往需要多次运行程序,每次运行都需要花费不少的时间从键盘输入数据。每次输入的数据都是相同的时,会给人的心理带来不爽的感觉,并造成时间上的浪费。无论平时练习还是ACM竞赛实战,这些都是可以避免的。方法是,运用重定向。
用下面的形式调用函数freopen()会将标准输入stdin重定向到文件input.txt(这个名字可以自己定义)。
输入输出重定向例:
文件名为:r.txt
输入重定向到文件r.txt:freopen("r.txt","r",stdin);将文件r.txt中的数据读取
输出到文件:freopen("r.txt","w",stdout);将输出的结果写入到指定文件
参数说明:(文件名,方式(r为读取,w为写入),照打就ok了);
若文件名出写:"CON",为重定向回控制台
[cpp] view
plaincopyprint?
freopen("input.txt","r",stdin); //设置输入和输出文件
重定向后,原先从键盘(标准输入的默认设备)接受的输入,将统统从文件读取input.txt读取,这就是重定向。程序可以写作:
[cpp] view
plaincopyprint?
#include<stdio.h>
int main()
{
freopen("input.txt","r",stdin); //只加这一句输入将被重定向到文件input.txt
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
于是,在运行程序前,将本该由键盘输入的数据,写到文件input.txt中。而在运行程序时,数据将不再需要人去输入。那个快,很享受。
需要注意的是,调试通过的程序,千万不要直接提交到OJ平台上去。如果竞赛中这样做了,罚你的20分钟不要算到我的头上。提交的程序要把输入重定向的一行删除,这样才算是符合要求的,可以获得AC的程序(提交oj时要将加入的重定向一行删除)。
除了删除那一行,还有一种简单的做法是,提交前将这一行前加上注释符"//",效果是一样的。
[cpp] view
plaincopyprint?
#include<stdio.h>
int main()
{
//freopen("input.txt","r",stdin); //只加这一句输入将被重定向到文件input.txt
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
用下面的形式调用函数freopen()会将标准输入stdin重定向到文件input.txt(这个名字可以自己定义)。
输入输出重定向例:
文件名为:r.txt
输入重定向到文件r.txt:freopen("r.txt","r",stdin);将文件r.txt中的数据读取
输出到文件:freopen("r.txt","w",stdout);将输出的结果写入到指定文件
参数说明:(文件名,方式(r为读取,w为写入),照打就ok了);
若文件名出写:"CON",为重定向回控制台
[cpp] view
plaincopyprint?
freopen("input.txt","r",stdin); //设置输入和输出文件
重定向后,原先从键盘(标准输入的默认设备)接受的输入,将统统从文件读取input.txt读取,这就是重定向。程序可以写作:
[cpp] view
plaincopyprint?
#include<stdio.h>
int main()
{
freopen("input.txt","r",stdin); //只加这一句输入将被重定向到文件input.txt
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
于是,在运行程序前,将本该由键盘输入的数据,写到文件input.txt中。而在运行程序时,数据将不再需要人去输入。那个快,很享受。
需要注意的是,调试通过的程序,千万不要直接提交到OJ平台上去。如果竞赛中这样做了,罚你的20分钟不要算到我的头上。提交的程序要把输入重定向的一行删除,这样才算是符合要求的,可以获得AC的程序(提交oj时要将加入的重定向一行删除)。
除了删除那一行,还有一种简单的做法是,提交前将这一行前加上注释符"//",效果是一样的。
[cpp] view
plaincopyprint?
#include<stdio.h>
int main()
{
//freopen("input.txt","r",stdin); //只加这一句输入将被重定向到文件input.txt
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
相关文章推荐
- 利用文件重定向提高调试效率
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(一)SQL编写调试篇
- 多进程拷贝文件 提高io效率 利用 文件空洞 内容很简单 原理很深刻
- node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用提高nodejs调试效率
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(一)SQL编写调试篇
- node.js开发中使用Node Supervisor实现监测文件修改并自动重启应用提高nodejs调试效率
- 利用IO流复制文件效率提高版,这里主要用了一个数组做了一个缓存,提升了传递效率。
- 【GDB调试学习笔记】利用core文件调试程序
- Windows cmd 将命令(/指令)写到一个文件里,直接运行这个文件。提高工作效率
- c语言中使用assert 提高调试效率
- 利用 Visual Studio 自带工具提高开发效率
- Windbg内核调试之五: 一次利用Dump文件调试Deadlock的实战
- asp.net com excel利用数组写入excel 效率提高
- 利用虚拟硬盘(把内存当作硬盘)来提高数据库的效率(目前只针对SQL Server 2000)可以提高很多
- 利用doxygen提高源代码阅读效率
- 利用缓存读取文件提高性能
- 利用IDA对dex文件进行动态调试过程
- 利用GDI+的双缓冲技术来提高绘图效率
- 如何利用 Visual Studio 自带工具提高开发效率
- 利用render事件来提高程序的运行效率。