std::cout << QString

Verschiedenes zu Qt
Antworten
freeskydiver
Beiträge: 40
Registriert: 28. Juni 2006 01:05

std::cout << QString

Beitrag 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???
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Qt4 denke ich mal...

qPrintable(test)

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

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

Hmm, ich hatte damit noch nie Probleme.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag 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.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Re: std::cout << QString

Beitrag 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...
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

QString test = "blabla";
cout << test.toLatin1().constData() << endl;
Antworten