【问题标题】:IntelliJ - CLion : What should I do to use input text file?IntelliJ - CLion:我应该怎么做才能使用输入文本文件?
【发布时间】:2020-08-04 01:39:29
【问题描述】:

我想在 CLion IDE 中读取我的 C/C++ 项目中的 .txt 文件。

我想自动化我在 bash 中运行的命令:

./<executable_file> < input.txt

我在运行/调试配置中编辑了程序参数。

但它不起作用。

【问题讨论】:

  • 重定向是 shell 的一部分,不会在运行程序时自动发生。也许您应该调用一个外壳程序,它使用重定向运行您的程序?或者修改你的程序来处理命令行参数?
  • 似乎还不支持:youtrack.jetbrains.com/issue/CPP-3153 您可能需要将文件名作为参数字符串传递,并让您的应用程序处理文件的打开和读取

标签: c++ intellij-idea clion


【解决方案1】:

如果有人对此仍有兴趣,在当前日期,CLion 已添加此功能。去编辑配置(右上角工具栏,项目名称|调试):

现在有一个选项:“重定向输入来自”。只需单击文件夹并找到您的输入文件。

【讨论】:

    【解决方案2】:

    目前还没有官方支持,可以做如下操作。

    如果你的输入文件是input.txt,你可以使用freopen将stdin文件设置为input.txt

    freopen("input.txt","r",stdin);
    

    如果你想对你的输出做同样的事情:

    freopen("output.txt","w",stdout);
    

    这适用于 std::cin(如果使用 c++)、printf 等...

    这将帮助您在 clion 中调试代码

    类似的问题 CLion standard input while debugging

    【讨论】:

    • 值得一提:不要忘记使用相对路径或绝对路径,以防您使用 C/C++​+​ 单文件执行插件,否则编译器会产生错误。有用的:programmersought.com/article/47212852083
    【解决方案3】:

    不是直接的解决方案,而是您可以使用命令行执行的替代方案。

    g++ -Wall -ggdb filename.cpp -o filename
    

    并使用以下命令运行它:

    ./filename < inputFile
    

    另外,我认为 JetBrain 还没有为 Clion 提供此类问题的官方答案...

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 2018-12-30
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      相关资源
      最近更新 更多