各位朋友在初学C/C++程序设计时,不论是程序设计与算法, 还是数据结构等课程的时候,一定经常会去oj平台,可能是自己学校的OJ平台,也可能是PAT,也可能是大名鼎鼎的poj.org。在上边练习时,每个题少不了调试阶段,有时输入数据还很多,可不能每次调试都要把那么多数据都输入进去。虽然用粘贴的方法也可行(控制台内不能用鼠标右键,点控制台左上角图标会弹出菜单,从中选择粘贴),但还不够快速。
有的朋友可以说“用文件输入操作”的方法,也是非常好,数据放在文本当中保存,每次运行时可以直接出运行结果。可是数据入口比较多的时候,要对不同变量赋值,可能有好几处都是fscanf()函数,而提交到OJ上的代码要全换成scanf(),函数的参数也要变一下,不注意还可能漏掉几处,通不过OJ的编译,也略显繁琐。
有没有更好的方法呢?当然有,方法就是用本文标题所说的freopen()函数。
用freopen()函数的效果和打开文件一样,运行以后直接出结果,不同之处在于用freopen()函数比用文件操作需要改动的地方少的多,只需要改动一处,即可提交到OJ上。下边我们看一看freopen()函数的用法
freopen()是stdio.h标准库当中的一个函数,用以重定向输入输出流。所谓输入输出流就是传数据的途