2011-09-27 14 views
9

Ho visto questa domanda già su questo forum ma non so perché la risposta proposta non funziona nel mio caso. Quindi provo a chiedere altre slunce.Qt output standard. cout does not print

Sono un newby completo in programmazione Q ++ in C++. Ho appena ottenuto il mio Qt Crator in esecuzione su Linux.

non capisco il motivo per cui il mio:

cout << "This does not appear"; 

non stampa in console, mentre qdebug fa

qDebug() << "This appears"; 

questo è ciò che è contenuto nel mio file .pro:

QT  += core gui 

TARGET = aaa 
TEMPLATE = app 


SOURCES += main.cpp\ 
     mainwindow.cpp \ 
    IeplcModule.cpp 

HEADERS += mainwindow.h \ 
    IeplcModule.h 

FORMS += mainwindow.ui 

#enable console 
CONFIG += console 

Qualche idea?

Cheers,

Stefano

+2

'cout <<" Questo non appare "<< flush;' Forse questo? – Michas

+1

L'output appare quando il programma si ferma? Se sì, probabilmente è solo un flush mancante (aggiungi uno std :: endl) – Steffen

+0

su quale piattaforma sei? – vickirk

risposta

20

Prova con cout << "asdf" << endl;

Forse Qt imposta fino iostream al fine di irrigare solo in nuova linea.

+5

+1 Per la risposta e la spiegazione corrette, tra l'altro non suggerisci di usare qDebug() come tutti hanno fatto. – RajaRaviVarma

+0

In realtà, 'endl' è un comando di linea * plus * flush. Simile a '" \ n "<< flush' – steffen

0

Hai #include <iostream>? Non ho visto alcun include nel codice. Suppongo che qdebug e cout siano molto simili.

+1

Questa domanda è già stata risolta dalla risposta accettata. –

Problemi correlati