在调试程序时,有时候会有许多的输入,如果每次Debug都自己输入测试样例的话会非常麻烦。
所以将输入重定向到指定文件,从文件读取输入就方便多了。
在C++中,可以调用freopen这个函数来实现此功能,此函数包含在头文件<iostream>中,也方便调用。
freopen的声明为:
将现有文件流stream重新分配到不有filename确定的,以模式mode使用的文件。
FILE * freopen ( const char * filename, const char * mode, FILE * stream );
filename: 文件路径
mode:读取模式-- 只读:r, 只写:w
stream:将这个流重定向。
简单举例:freopen("Input.txt", "r", stdin); 将标准输入stdin重新分配到文件 Input.txt,模式为只读。
更多细节请参考:http://www.cplusplus.com/reference/cstdio/freopen/?kw=freopen
函数介绍到此,在Xcode中使用时,我碰到了一个问题,无法读取文件!!!
尝试1:在工程文件所在位置创建文件InputFromFile.txt
函数调用
freopen("InputFromFile.txt", "r", stdin);
结果无法成功读取到文件内容。初步判定是文件路径不对。