如果需要從文件讀入數據,并把輸出數據保存為文件,需要使用文件讀取。
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;
}
文件目錄關系默認如下: