Clion `cout` 和 `cin` 组合导致控制台无法正常工作

Clion `cout` and `cin` combination causes console to not work properly

我最近开始尝试使用 CLion 进行 C++ 编程。我想测试一个示例应用程序(如下):

#include <iostream>

int main()
{
    std::cout << "Please enter a number: ";
    int x;
    std::cin >> x;

    std::cout << "Your number was " << x << "!\n";
    return 0;
}

这是我所期待的(数字是用户输入的):

Please enter a number: 10
Your number was 10!

这正是我手动编译和 运行 时发生的情况 (g++ main.cpp -o main && ./main) 但是,当我 运行 使用 CLion 时会发生这种情况:

有谁知道为什么会这样,我该如何解决?

注意:我在 WSL2

上使用带有 g++ 编译器(版本 9.3.0)的 CLion

经过更多搜索,我遇到了 Whosebug post, which led me to this 问题(点赞!),这最终让我按照评论中的说明去做:

Two workarounds are available:

  • Turn off PTY: by disabling run.processes.with.pty option in the Registry (Help -> Find Action -> Registry...)
  • Use Cygwin64 instead

我做了第一个选项,现在 CLion 工作正常:

看来这是 MinGW 和 WSL 的问题。