c++ - Clion 的调试器正在运行程序,但常规控制台却没有。

标签 c++ c clion

当我在 Clion 2018.1.3 中编译并运行时,它构建得很好,但没有任何反应。也没有错误。控制台打开,显示项目的路径位置,让我输入,但它不显示任何 printf 语句。当我在调试器中运行它时,一切都会显示出来并且工作正常。以前不是这样的。我尝试回溯但没有成功。在 main 的第一行插入 printf 语句也不会在控制台上打印。

我尝试在另一个项目上再次重写大量代码。没有运气。我能否了解为什么会出现这种沟通不畅的情况?这是用 C++ 编写的,但使用 cstdio cstdlib 库从 C 语言翻译而来。

最佳答案

CLion 捕获程序的输出。这意味着标准输出的输出(使用 printf 或类似的)不会像默认情况那样进行行缓冲。相反,它是完全缓冲的。如果您希望发生输出,您需要显式刷新标准输出。

它可以进行调试的原因可能是(我在这里推测)CLion 本身可以识别换行符并写入输出。或者它将标准输出修改为无缓冲。

关于c++ - Clion 的调试器正在运行程序,但常规控制台却没有。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53574263/

相关文章:

c++ - 在 C++ 中访问参数包的内部变量

c++ - 数组上的 const 值是否与数组上的 const 不同

c - 将函数作为参数传递

c - 我的第二个 scanf 不起作用 - 我该怎么办?

c++ - 如何在 CLion 中启用所有编译器警告?

c++ - 如何从 pjsip 发送电子邮件。是否有可用于发送电子邮件的默认方法

将上更改为下,将下更改为上

c - 如果我之前输入了某个输入,为什么 scanf() 不等待下一个输入

clion:从项目 View 中排除文件

c++ - 返回引用实例和非引用实例之间有什么区别(return mystr & vs mystr)?