和学长讨论问题时,他教我了一种测试代码的方法—freopen函数。(在stdio.h中)
简单的说,这个函数是用于修改输入输出的方式。
在测试代码时如果有很多数据,为了节省输入时间,我们就会用到一种方法把数据保存在文件里读出就行,freopen函数做的就是这件事。
下面是他的实现:
#include<stdio.h> #include<iostream> using namespace std; int main() { int a; freopen(“in.txt”,”r”,stdin); freopen(“out.txt”,”w”,stdout); cin>>a; cout<<a; return 0; }
这样只要在目录建一个in.txt文件,保存测试用的数据
程序运行后目录下就多了一个out.txt文件,保存输出的数据。
不过在实际运用中,为了不每次都打开out.txt查看结果,我们会把 freopen(“out.txt”,”w”,stdout);去掉,只从文件里读入数据,在屏幕上显示数据就行。
当然,我们测试时更多的是要测试多组数据,可以用一个循环解决,确定代码无问题后记得把循环去掉。
发表评论 (对文章评论)