freopen 函式的使用及如何返回控制台。

2021-07-03 05:46:36 字數 843 閱讀 7833

在除錯程式的時候,如果輸入資料量很大,為了避免重複手動地輸入大量的資料,為了節約寶貴的時間,提高除錯**的效率,可以使用 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...