2016-05-13 36 views
1

我使用崇高文本3進行競爭性編程。我更喜歡C++語言。由於我必須一次又一次地運行我的程序來檢查輸出,所以將輸入寫入文件並從中讀取輸入會更容易。爲此,我總是在我的程序中寫入一些額外的行以從文件中讀取,並在提交我的解決方案之前註釋掉這些行。你能建議任何方式擺脫這個?我希望有一種方法可以改變我的程序從文件輸入而不是標準輸入的默認輸入源。更改崇高文本的默認輸入源

回答

1

您可以使用freopen(也適用於C++)編寫條件代碼。通過CodeChef支持的一種方法是

#ifndef ONLINE_JUDGE 
    freopen("in.txt", "r", stdin); 
#endif 

. . . 

cin >> something; // This will be read from 'in.txt' if ONLINE_JUDGE is not defined 

ONLINE_JUDGE可以不同,但​​freopen是改變輸入流源的方法。

編輯:要在崇高的文本3實現這一目標,編寫一個自定義的構建系統(Sublime text 3 - compile program and run in terminal),並使用I/O重定向命令行,例如

g++ -Wall -o code code.cpp 
./code < in.txt 

這會從文件中讀取輸入就好像它是stdin一樣。

希望它有幫助。

+0

我期待着一個關於崇高文本3設置的解決方案 – froghramar