Seite 1 von 1

std::cout << QString

Verfasst: 5. Juli 2006 09:32
von freeskydiver
Hallöschen ...
eine sicherlich ganz doofe frage aber ich steh grad auf dem schlauch

QString test = "skhdfas";
std::cout << test;

????????
wie bekomme ich den Inhalt eines QString auf die console???

Verfasst: 5. Juli 2006 09:43
von Christian81
Qt4 denke ich mal...

qPrintable(test)

oder http://doc.trolltech.com/4.1/qtextstream benutzen oder qDebug() für Debug-ausgaben.

Verfasst: 5. Juli 2006 11:11
von Sym

Verfasst: 5. Juli 2006 11:23
von Christian81
Aber nur wenn Qt mit stl-Support kompiliert ist. Und dann muss man hier noch aufpassen dass man mit msvc (bei gcc ist das egal) nicht debug und release libs mischt da es sonst crasht.

Verfasst: 5. Juli 2006 11:44
von Sym
Hmm, ich hatte damit noch nie Probleme.

Verfasst: 5. Juli 2006 11:47
von Christian81
Ich sagte ja - wenn man nicht debug und release mischt -> ein Debug-Proggie gegen die Qt-Release-Libs linkt und umgekehrt

Der Grund liegt darin, dass std::string in debug eine andere interne Sturktur hat als in release - wenn man diese dann von einem Modi in den anderen übergibt passt es natürlich nicht mehr -> crash.
Ist z.b. auch mit Dateideskriptoren so.

Re: std::cout << QString

Verfasst: 10. Juli 2006 10:12
von patrik08
freeskydiver hat geschrieben:Hallöschen ...
eine sicherlich ganz doofe frage aber ich steh grad auf dem schlauch

QString test = "skhdfas";
std::cout << test;

????????
wie bekomme ich den Inhalt eines QString auf die console???

Code: Alles auswählen

/* print on cosole the result */
void Qxml::Print()
{
    QTextStream out(stdout);
    out << Qxml::toString(); 
}

in deinem beispiel ....

Code: Alles auswählen

    QString test = "skhdfas";
    QTextStream out(stdout);
    out << test;
qdebug ... kann man nicht auslesen im ...

./applikation > result.txt

QTextStream out(stdout); geht...

Verfasst: 10. Juli 2006 10:56
von Volker
QString test = "blabla";
cout << test.toLatin1().constData() << endl;