Eli*_*oni 3 c++ mingw cmake 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;
}
Run Code Online (Sandbox Code Playgroud)
并键入thomas并按Enter键我得到此输出
thomas
thomas
thomas
Run Code Online (Sandbox Code Playgroud)
相反,我应该得到
thomas
thomas
Run Code Online (Sandbox Code Playgroud)
我在Windows 10 x64上使用CLion/Mingw64
您的代码没有任何问题.
您观察到的是在引擎盖下使用WinPTY的副作用.默认情况下,CLion使用它与Windows上的调试程序进行通信.
这是我们的问题跟踪器中的相应错误:CPP-2580用户输入在MING的CLion输出窗口中出现两次,请随时提供票证.
虽然目前还没有针对此问题的正确修复,但您可以使用针对该故障单的注释中建议的解决方法来禁用PTY:
通过"查找操作"打开注册表,键入
run.processes.with.pty并禁用此pty设置.