给出以下电话:
printf ("Characters: %c %c \n", 'a', 65);
qDebug() << "adcasd";
为什么我在QtCreator应用程序输出中看到以下(反向)输出?
adcasd
Characters: a A
答案 0 :(得分:5)
printf()直接写入stdout并在每次遇到换行符时刷新。 qDebug()写入调试器。 Qt Creator在同一个窗口中显示(但通常是不同的颜色),但它们是两个不同的流。因此,输出的顺序可能会混淆一点。
答案 1 :(得分:1)
fflush(stdout);
仅引用交互式设备,则会自动使用新行刷新<printf
。我不确定这里是什么情况,但您可以尝试使用angular-mocks.js
命令行后onPrepare()
显式刷新。