CLion自动从标准输入打印输入,有没有解决此问题?

时间:2017-10-13 13:26:26

标签: c++ cmake mingw clion

我正在尝试CLion编写一些基本的C ++程序,但每次使用std::cinstd::getline输入一些输入时,输入都会无缘无故地打印回控制台。

例如,如果我运行此程序

#include <iostream>
#include <string>

int main(){
    string name;
    std::cin >> name;
    std::cout << name << std::endl;
    return 0;
}

然后键入thomas并按Enter键我得到此输出

thomas
thomas
thomas

而我应该只是

thomas
thomas

我在Windows 10 x64上使用CLion / Mingw64

1 个答案:

答案 0 :(得分:6)

您的代码没有任何问题。

您观察到的是在引擎盖下使用WinPTY的副作用。默认情况下,CLion使用它与Windows上的调试程序进行通信。

以下是我们的问题跟踪器中的相应错误:CPP-2580 User input appears twice in output window in CLion under MinGW,请随时提供票证。

虽然目前还没有针对此问题的正确解决方法,但您可以使用针对该故障单的评论中建议的解决方法来禁用PTY:

  

通过“查找操作”打开注册表,键入run.processes.with.pty并禁用此pty设置。