使用freopen重定向輸入輸出流

2021-06-22 18:35:45 字數 591 閱讀 6336

在做acm演算法題目時,經常需要測試大量輸入資料。freopen函式可用於演算法本地除錯,等演算法執行正確後便可將**提交系統。freopen函式的主要功能是將預定義的標準流檔案定向到由path指定的檔案中。

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

引數說明:

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

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

stream: 乙個檔案,通常使用標準流檔案(stdin、stdout和stderr, 其中stdin是標準輸入流,預設為鍵盤;stdout是標準輸出流,預設為螢幕;stderr是標準錯誤流,一般把螢幕設為預設)。 

c**示例:

#include#includeint main(void)

{ int i,j,t,n,sum;

freopen("test_input.txt", "r", stdin); //注釋掉便可從鍵盤輸入

scanf("%d", &t);//從指定檔案讀入資料

for (i = 0;i

使用freopen函式重定向輸入流

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

重定向輸入輸出流 freopen

freopen是被包含於c標準庫標頭檔案中的乙個函式,用於重定向輸入輸出流。該函式可以在不改變 原貌的情況下改變輸入輸出環境。c99函式宣告 file freopen const char restrict filename,const char restrict mode,file restric...

重定向輸入輸出流freopen函式

乙個acm題目的解決背後隱藏著大量的測試,只有自己覺得把自己所能夠想到的一切可能都進行輸入測試並得到正確答案時才敢嘗試提交,畢竟在acm比賽中是會進行罰時的,寧可多測試幾次也不敢武斷提交。然而多數題目光測試資料就已經很多了,如果測試時一次一次手動輸入那將要耗費大量的時間,將要大大降低a題效率,這時候...