當我們求解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<
構造測試資料 對比測試資料
正確 include using namespace std typedef long long ll const int max n 1e6 10 intmain return0 author max n date 2019 10 04 15.03.21 description 正確 錯誤 inc...
常用測試資料
程式或應用編寫好了之後,通常要輸入一些測試資料,我們懶人一般的做法就是,輸入 asdf,愛上對方,阿道夫。之類的隨手打的字元。這裡,我收集了一點點資料供測試時候使用,應該可以作為常用的測試資料。1.常用的姓名 平時,很多系統比如員工名字需要,但是又怕洩露隱私,所以這裡從網上收集了中國50個最常用的姓...
oracle training 測試資料
sqlplus sys zhou215 as sysdba startup connect oracle oracle 由於虛擬機器是linux的 plsql沒有linux的版本,需要通過本機連上虛擬機器 配置檢視ip sbin ifconfig a 192.168.81.128 將虛擬機器的ip填...