2016-05-13 61 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