Si c'est assez bon pour être imprimé sur stderr
vous pouvez utiliser les flux suivants, initialement prévus pour le débogage :
#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" );
Cependant, comme indiqué dans les commentaires, n'oubliez pas que les messages qDebug sont supprimés si QT_NO_DEBUG_OUTPUT
est défini
Si vous avez besoin de stdout, vous pouvez essayer quelque chose comme ceci (comme Kyle Strand l'a signalé) :
QTextStream& qStdOut()
{
static QTextStream ts( stdout );
return ts;
}
Vous pourriez alors appeler comme suit :
qStdOut() << "std out!";
3 votes
Pouvez-vous préciser que cout ne fonctionne pas, car cela devrait certainement fonctionner. Obtenez-vous une erreur de compilation ? Pouvez-vous montrer un exemple de code de cout qui ne fonctionne pas pour vous ? Expliquez également comment vous exécutez l'application. L'exécutez-vous à partir d'une console ou d'un IDE et ne voyez pas de sortie dans sa fenêtre de sortie ?
0 votes
Juste pour être complet : @ArnoldSpence - sans les bibliothèques, j'obtiens
error: ‘cout’ was not declared in this scope
; avec iostream, j'obtienserror: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char>](((std::basic_ostream<char>&)(& std::cout)), ...
; l'utilisation des commandes dans la réponse à la place fonctionne bien.0 votes
Il est difficile de proposer des solutions lorsque l'énoncé du problème est simplement "ça ne marche pas". Veuillez consulter le site editar votre question pour donner une description plus complète de ce que vous attendiez et en quoi cela diffère des résultats réels. Voir Comment demander pour des conseils sur ce qui constitue une bonne explication.
0 votes
Dans ce cas, vous devez spécifier explicitement que ces "variables" sont des objets spécifiques à Qt (tels que des
QString
).