我正在使用 Qt4 和 C++ 制作一些计算机图形程序。我需要能够在运行时在控制台中打印一些变量,而不是调试,但cout即使我添加库似乎也不起作用。有没有办法做到这一点?
cout
如果它足以打印到stderr,您可以使用以下最初用于调试的流:
stderr
#include<QDebug> //qInfo is qt5.5+ only. qInfo() << "C++ Style Info Message"; qInfo( "C Style Info Message" ); qDebug() << "C++ Style Debug Message"; qDebug( "C Style Debug Message" ); qWarning() << "C++ Style Warning Message"; qWarning( "C Style Warning Message" ); qCritical() << "C++ Style Critical Error Message"; qCritical( "C Style Critical Error Message" ); // qFatal does not have a C++ style method. qFatal( "C Style Fatal Error Message" );
尽管正如评论中所指出的,但请记住,如果QT_NO_DEBUG_OUTPUT定义了 qDebug 消息,则会删除
QT_NO_DEBUG_OUTPUT
如果你需要标准输出,你可以尝试这样的事情(正如 Kyle Strand 指出的那样):
QTextStream& qStdOut() { static QTextStream ts( stdout ); return ts; }
然后,您可以按如下方式调用:
qStdOut() << "std out!";