在除錯程式的時候,如果輸入資料量很大,為了避免重複手動地輸入大量的資料,為了節約寶貴的時間,提高除錯**的效率,可以使用 freopen();函式來實現。
函式原型:file *freopen ( const char *filename, const char *mode, file *stream );
【標頭檔案】
include "stdio.h"
【引數說明】
filename: 要開啟的檔名
mode: 檔案開啟的模式,和fopen中的模式(r/w)相同
stream: 檔案指標,通常使用標準流檔案(stdin/stdout/stderr)
具體的使用方法就是在**前面加上一句 freopen("input.txt", "r", stdin);
再在和原始檔同乙個資料夾裡新建乙個文件命名為"input.txt".把測試資料寫入裡面即可。
還可以再加一句 freopen("output.txt", "w", stdout);
這樣程式執行成功之後,就會自動在資料夾下建乙個文件"output.txt",並且對應於測試資料的輸出答案已經寫入該文件。
還有乙個很重要的問題:如果你不想輸入或輸出到檔案了,要恢復控制代碼,可以重新開啟標準控制台裝置檔案,這個裝置檔案的名字是與作業系統相關:
dos/win: freopen("
con", "r", stdin);
freopen("
con", "w", stdout);
linux: freopen("
/dev/console
", "r", stdin);
freopen 函式的使用及如何返回控制台。
在除錯程式的時候,如果輸入資料量很大,為了避免重複手動地輸入大量的資料,為了節約寶貴的時間,提高除錯 的效率,可以使用 freopen 函式來實現。函式原型 file freopen const char filename,const char mode,file stream 標頭檔案 inclu...
freopen 函式的使用
當我們求解acm題目時,通常在設計好演算法和程式後,要在除錯環境 例如vc等 中執行程式,輸入測試資料,當能得到正確執行結果後,才將程式提交到oj中。但由於除錯往往不能一次成功,每次執行時,都要重新輸入一遍測試資料,對於有大量輸入資料的題目,輸入資料需要花費大量時間。使用freopen函式可以解決測...
C C 中的freopen 函式使用詳解
剛剛看到了乙個比較有意思的c c 重定向 標準輸入輸出 的庫函式。在此總結。所謂重定向輸出,就是可以把原本只是輸出在控制台的字元,輸出到你指定的路徑檔案中。輸入類似,就是從指定的檔案中讀取,而不是讀取在控制台中的輸入。重定向函式可以在任何時候開啟 關閉。函式名 freopen 標準宣告 file f...