freopen 函式的使用

2021-06-03 03:19:52 字數 1005 閱讀 6364

當我們求解acm題目時,通常在設計好演算法和程式後,要在除錯環境(例如vc等)中執行程式,輸入測試資料,當能得到正確執行結果後,才將程式提交到oj中。但由於除錯往往不能一次成功,每次執行時,都要重新輸入一遍測試資料,對於有大量輸入資料的題目,輸入資料需要花費大量時間。 

使用freopen函式可以解決測試資料輸入問題,避免重複輸入,不失為一種簡單而有效的解決方法。 函式名:freopen

宣告:file *freopen( const char *path, const char *mode, file *stream );

所在檔案: stdio.h

引數說明:

path: 檔名,用於儲存輸入輸出的自定義檔名。

mode: 檔案開啟的模式。和fopen中的模式(如r-唯讀, w-寫)相同。

stream: 乙個檔案,通常使用標準流檔案。

返回值:成功,則返回乙個path所指定檔案的指標;失敗,返回null。(一般可以不使用它的返回值)

功能:實現重定向,把預定義的標準流檔案定向到由path指定的檔案中。標準流檔案具體是指stdin、stdout和stderr。其中stdin是標準輸入流,預設為鍵盤;stdout是標準輸出流,預設為螢幕;stderr是標準錯誤流,一般把螢幕設為預設。

下面以在vc下除錯「計算a+b」的程式舉例。

c語法:

#include int main()

c++語法

#include #include int main()

{ int a,b;

freopen("debug\\in.txt","r",stdin); //輸入重定向,輸入資料將從in.txt檔案中讀取

freopen("debug\\out.txt","w",stdout); //輸出重定向,輸出資料將儲存在out.txt檔案中

while(cin>>a>>b)

cout<

**:

C C 中的freopen 函式使用詳解

剛剛看到了乙個比較有意思的c c 重定向 標準輸入輸出 的庫函式。在此總結。所謂重定向輸出,就是可以把原本只是輸出在控制台的字元,輸出到你指定的路徑檔案中。輸入類似,就是從指定的檔案中讀取,而不是讀取在控制台中的輸入。重定向函式可以在任何時候開啟 關閉。函式名 freopen 標準宣告 file f...

C C 中的freopen 函式使用詳解

c c 重定向 標準輸入輸出 的庫函式。所謂重定向輸出,就是可以把原本只是輸出在控制台的字元,輸出到你指定的路徑檔案中。輸入類似,就是從指定的檔案中讀取,而不是讀取在控制台中的輸入。重定向函式可以在任何時候開啟 關閉。函式名 freopen 標準宣告 file freopen const char ...

使用freopen函式重定向輸入流

有那麼一陣子,除錯程式的時候經常遇到大量輸入資料的情況,如果從控制台輸入,將是非常耗時且容易出錯,幸好有freopen函式,可以將輸入重定向到檔案中。也就是說,將輸入資料放到檔案中,呼叫freopen函式將輸入流從控制台重定向為檔案,那麼後續從控制台讀取輸入資料的操作,將自動變為從檔案中讀取,不需要...