gpt4 book ai didi

c++ - 为什么在 Qt C++ 中关闭主窗口后打印消息?

转载 作者:行者123 更新时间:2023-11-28 02:10:10 25 4
gpt4 key购买 nike

用这段代码

#include "mainwindow.h"
#include <QApplication>
#include <iostream>
#include <QDir>
#include <QTextStream>

int main(int argc, char *argv[]){
QApplication a(argc, argv);

QTextStream out(stdout);
out << QDir::currentPath();
std::cout << "Why is that?";

MainWindow mainWindow;
mainWindow.show();
return a.exec();
}

这两条消息仅在关闭我的应用程序的主窗口后才打印,这是为什么?我尝试调试,调试器认为他已经完成了这一行,但我没有看到任何消息。

最佳答案

extern std::ostream cout; 是缓冲的,因此它可以选择何时将其缓冲区刷新到 stdout。在您的情况下,它是在您的程序终止时执行的。

您可以告诉 std::ostream 使用 std::flush 进行刷新,如下所示:

std::cout << "Why is that?" << std::flush;

关于c++ - 为什么在 Qt C++ 中关闭主窗口后打印消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35994355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com