【发布时间】:2021-06-17 12:32:24
【问题描述】:
我已成功安装 MinGW 并尝试从命令提示符运行 cpp 程序,它运行完美。在 Sublime 中,我尝试使用默认构建系统“C++ Single File”,它在下面的控制台中打印简单的语句,但它不能接受输入。使用“cin”命令构建程序后,程序不显示任何输出,我尝试在下面的控制台中输入并按 ENTER,但没有任何反应。然后我找到了一种使用“freopen”命令从文件中获取输入并输出到不同文件的方法。但是程序运行成功,但在输出文件中没有输出任何内容。同样的问题——mingw64 + sublime 3 input output files not working
在此之后,我尝试了我在网上找到的许多其他构建文件,但它们都不起作用。
{
"cmd": ["g++.exe", "-std=c++17", "${file}",
"-o", "${file_base_name}.exe",
"&&", "${file_base_name}.exe<input.in>output.out"],
"shell":true,
"working_dir":"$file_path",
"selector":"source.cpp"
}
output.out 文件始终为空。我直接有相同的输入和输出文件,我认为它正在正确读取输入,因为当我删除输入文件时,它会给出一个错误,它无法找到输入文件。我什至尝试在修改构建系统代码后使用文本文件(input.txt、output.txt),但它不起作用。
我有许多其他构建代码,但它们都不起作用。
我尝试在命令提示符下运行g++.exe -std=c++17 contest1a.cpp -o contest1a.exe && contest1a.exe<input.in>output.out,但 output.out 文件仍然为空。
我用"cmd" : ["g++ -std=c++14 $file_name -o $file_base_name && timeout 4s $file_base_name < input.in > output.out"], 替换了第一行,但它给出了错误,因为我认为.exe 没有后缀,我尝试添加并且程序运行但输出仍然为空。
为什么“freopen”不起作用,为什么任何构建都无法写入输出文件?
【问题讨论】:
标签: c++ c g++ sublimetext3