printf()与qDebug()在QtCreator中的执行顺序
printf() vs qDebug() order of execution in QtCreator
给定以下调用:
printf ("Characters: %c %c n", 'a', 65);
qDebug() << "adcasd";
为什么我在QtCreator应用程序输出中看到以下(反向)输出?
adcasd
Characters: a A
printf()直接写入stdout,并在每次遇到换行符时进行刷新。qDebug()写入调试器。Qt Creator在同一个窗口中显示两者(但通常使用不同的颜色),但它们是两个不同的流。因此,输出的顺序可能会有点混乱。
printf
只有在可以检测到引用交互式设备的情况下,才会使用新行自动刷新。我不确定这里是什么情况,但您可以尝试在使用printf
命令的行之后显式地使用fflush(stdout);
刷新is。
相关文章:
- QML按钮点击功能执行顺序
- C++ - scanf() 和 printf() 执行顺序不对
- 递归函数的执行顺序
- 运算符 new 的执行顺序和构造函数的参数
- 如何检查参数包是否具有执行顺序中的确切类型
- std::bind() 参数列表中函子的执行顺序(可能与函数参数的求值顺序无关)
- 了解递归函数的执行顺序
- OpenMP 4.5 任务依赖关系和执行顺序
- 通过调试来检查C 中单行表达式执行顺序的方法
- 遵循 C++ 中的构造函数执行顺序
- 联接线程如何影响主线程中的执行顺序?
- C COUT行为 /执行顺序
- 是定义的函数参数的内部执行顺序
- 强制执行执行顺序
- OpenGL计算着色器中线程的执行顺序
- 按执行顺序创建Pthread
- 逻辑操作员执行顺序
- 如何在使用 std::make_tuple 时避免构造函数的未定义执行顺序
- 提升::thread_specific_ptr/清理与退出执行顺序
- C++ 多线程:执行顺序