我正在尝试使用 CLion 编写一些基本的 C++ 程序,但每次我使用std::cin
or 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 用户输入在 MinGW 下的 CLion 输出窗口中出现两次 https://youtrack.jetbrains.com/issue/CPP-2580,请随时为票点赞。
虽然该问题尚无适当的解决方案,但您可以使用该票证注释中建议的解决方法来禁用 PTY:
通过查找操作打开注册表,输入run.processes.with.pty
并禁用此 pty 设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)