【问题标题】:Not able read from input output files in Sublime Text 3无法从 Sublime Text 3 中的输入输出文件中读取
【发布时间】: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 &amp;&amp; contest1a.exe&lt;input.in&gt;output.out,但 output.out 文件仍然为空。 我用"cmd" : ["g++ -std=c++14 $file_name -o $file_base_name &amp;&amp; timeout 4s $file_base_name &lt; input.in &gt; output.out"], 替换了第一行,但它给出了错误,因为我认为.exe 没有后缀,我尝试添加并且程序运行但输出仍然为空。

为什么“freopen”不起作用,为什么任何构建都无法写入输出文件?

【问题讨论】:

    标签: c++ c g++ sublimetext3


    【解决方案1】:

    事实证明,Windows Defender 有一个新功能“阻止文件夹访问”,它阻止了我的程序修改输出文件。我浪费了一天时间解决这个问题smh

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 2014-04-30
      • 2016-02-07
      • 2016-02-08
      • 2016-03-24
      • 1970-01-01
      • 2015-02-26
      • 2018-10-22
      • 2023-03-24
      相关资源
      最近更新 更多