如果需要从文件读入数据,并把输出数据保存为文件,需要使用文件读取。
freopen
为file reopen
,意为文件重新打开,实现重定向标准输入输出- 第一个参数为文件名可以修改,输入文件为
.in
,输出文件为.out
- 第二个参数,
r
代表读(read),w
代表写(write) - 第三个参数,
stdin
标准输入,stdout
标准输出
freopen("test.in", "r", stdin);
freopen("test.out", "w", stdout);
main
函数开头加上这两行,程序会打开与编译器同目录下的test.in
文件,从中读取输入数据,代码部分不需要修改,运行结果会保存到编译器同目录下的test.out
文件,没有此命名文件则会自动创建此文件。
文件使用完成之后需要关闭文件。
fclose(stdin); // 关闭输入文件
fclose(stdout); // 关闭输出文件
举例:
#include <iostream>using namespace std;int main() {freopen("test.in", "r", stdin);freopen("test.out", "w", stdout);int a;cin >> a;cout << a;fclose(stdin); fclose(stdout);return 0;
}
文件目录关系默认如下: