天天看點

Qt --- printf 不即時列印資訊問題

Qt Creator建立一個空項目,然後寫了一些C代碼,即使運作配置中“Run in terminal”不勾選,正常情況下列印資訊會在“應用程式輸出”中顯示,但實際什麼也輸出。

解決方法:

1,将printf重定義為qDebug做日志輸出,這個是可以,但是如果要使用qDebug,當初建項目的時候應該建立qt控制台項目,不過這不重點,重點是我隻想用Qt Creator這個IDE做跨平台C/C++開發而已,并不想引用Qt的庫,哪怕是最基礎的QtCore。

#include <QDebug>
#define printf qDebug      
#include "mainwindow.h"
#include <QApplication>
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    setbuf(stdout, NULL);//讓printf立即輸出
    MainWindow w;
    w.show();
 
    return a.exec();
}