C語言 freopen函式

2022-04-11 05:01:57 字數 1036 閱讀 8302

當我們求解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<3. 程式除錯成功後,提交到oj時不要忘記把與重定向有關的語句刪除。

**:

C語言檔案操作函式freopen詳細解析

今天做usaco 用到了檔案的操作。之前做usaco只是格式化的些 寫 freopen in r stdin 和 freopen out w stdout 百科上是這麼介紹的 函式名 freopen 功 能 替換乙個流,或者說重新分配檔案指標,實現重定向。如果stream流已經開啟,則先關閉該流。如...

C語言的檔案操作 freopen

今天做usaco 用到了檔案的操作。之前做usaco只是格式化的些 寫 freopen in r stdin 和 freopen out w stdout 函式名 freopen 功 能 替換乙個流,或者說重新分配檔案指標,實現重定向。如果stream流已經開啟,則先關閉該流。如果該流已經定向,則f...

檔案操作 freopen函式

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