Clion正在自动从标准输入打印回输入,有什么修复方法吗?
我正在尝试使用Clion编写一些基本的C++程序,但每次我使用
std::cin
或std::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
解决方案
您的代码没有问题。
您观察到的是在幕后使用WinPTY的副作用。默认情况下,Clion使用它与Windows上的调试程序通信。
这是我们的问题跟踪器中的相应错误:CPP-2580 User input appears twice in output window in CLion under MinGW,请随时对票证进行投票。
虽然尚未针对该问题进行适当的修复,但您可以使用该票证的备注中建议的解决方法来禁用PTY:
通过查找操作打开注册表,键入
run.processes.with.pty
并禁用此PTY设置。
相关文章