使用CLion时,我发现输出有时会中断。
例如,在运行代码时:
的main.cpp
#include <stdio.h>
int main() {
int i;
for (i = 0; i < 1000; i++) {
printf("%d\n", i);
}
fflush(stdout); // Shouldn't be needed as each line ends with "\n"
return 0;
}
预期输出
预期输出显然是新线上每个数字的0-999
实际输出
在CLion中多次执行代码后,输出经常会改变:
返回码始终为0!
截图
在终端中运行代码(即不在CLion本身中)
但是,在使用终端编译和运行代码时,代码会完美地输出数字0-999。
我花了很多时间在这个问题上认为这是我的代码问题和内存问题,直到我终于意识到这只是CLion的一个问题。
操作系统:Ubuntu 14.04 LTS
版本:2016.1
构建:#CL-145.258
更新
合适的解决方法是在调试模式下运行代码(感谢@olaf)。
答案 0 :(得分:9)
大家一致认为这是一个IDE问题。因此,我已经报告了这个错误。
合适的解决方法是在调试模式下执行代码(不需要断点)。
我会在修复此错误后立即更新此问题。
警告:除非JetBrains特别询问您,否则不应更改注册表中的信息。注册表不在主菜单中是有原因的!使用以下解决方案需要您自担风险!!!
JetBrains与我联系并提供了合适的解决方案:
run.processes.with.pty
应该可以正常工作!
此处添加了错误: https://youtrack.jetbrains.com/issue/CPP-6254
随意投票!