CLion会自动打印标准输入的输入,有没有解决这个问题的方法?
问题描述:
我正在尝试CLion编写一些基本的C++程序,但每次使用std::cin
或馈入某些输入时,输入将无缘无故地打印回控制台。CLion会自动打印标准输入的输入,有没有解决这个问题的方法?
例如,如果我运行这个程序
#include <iostream>
#include <string>
int main(){
string name;
std::cin >> name;
std::cout << name << std::endl;
return 0;
}
,并键入托马斯,然后按回车我得到这个输出
thomas
thomas
thomas
的时候,而不是我应该得到公正
thomas
thomas
我在Windows上使用CLion/Mingw64 10 x64
答
你的代码没有问题。
你观察到的是使用WinPTY的副作用。默认情况下,CLion使用它与Windows上的调试程序进行通信。
下面是我们的问题跟踪器中的相应错误:CPP-2580 User input appears twice in output window in CLion under MinGW,请随时注册票。通过查找操作,类型run.processes.with.pty
打开注册表,并禁用此PTY设置:
虽然没有对这一问题没有适当的修复还没有,你可以使用在意见提出的解决方法,那票禁用PTY。
您输入'thomas'并按回车。这意味着至少会显示一个。你看到一个或两个以上(总共三个)? – NathanOliver
对不起,编辑了这个问题,我的错,基本上我看到了我写的托马斯,那个被cout打印的托马斯,但我无法理解第三个来自哪里 –
好的。感谢澄清。 – NathanOliver