Seite 1 von 1
Kommandozeilen ausgabe?
Verfasst: 17. Juni 2007 21:54
von dam1
Hallo,
hier mal eine Anfängerfrage:
Wie gebe ich am besten einen QString (z.b) in der CL aus? Mit IO Streams etwa wie sonst bei cpp oder hat qt bzw. sogar etwa das qstring Objekt selbst da elegantere möglichkeiten?
Für ein Beispiel wär ich dankbar!
Danke,
Gruss Dani
Verfasst: 17. Juni 2007 22:06
von upsala
Verfasst: 17. Juni 2007 23:56
von dam1
hmm,
danke erstmal. dachte aber eher an eine nicht-debug-ausgabe eines kommandozeilentools.. ideen?
Verfasst: 18. Juni 2007 07:48
von macman
Warum nicht printf? Oder war das jetzt zu simpel

Verfasst: 18. Juni 2007 11:15
von Burgpflanze
Oder so:
Code: Alles auswählen
#include <iostream>
...
std::cout << <IRGENDWAS> << std::endl;
...
Verfasst: 19. Juni 2007 12:25
von dam1
danke für eure tipps.
burgpflanze: nen QString kann ich nicht (bzw. weiss nicht wie) in den ausgabestream inserten.
macman: kann ich nen QString mit printf ausgeben? Beispiel waere nett.
das mit qDebug() geht gut nur gefällt mir das nicht so ganz da es ja offensichtlich ne debugging funktion ist und somit nicht umbedingt geeignet fuer produktiven einsatz. gibt es denn da nicht was anderes (qt spezifisches)?
Verfasst: 19. Juni 2007 12:45
von bst
Hi,
wandle den QString z.B. in ASCII.
cu, Bernd
--
Code: Alles auswählen
QString qs("Hallo");
printf("%s\n", qs.toAscii().constData());
std::cout << qs.toAscii().constData() << std::endl;
Verfasst: 19. Juni 2007 13:50
von macman
Gefällt mir besser. Irgendwelche Formatierungen habe ich bereits vorher gemacht.
Verfasst: 19. Juni 2007 14:00
von bst
QString qs("Hallo");
printf(qs.toAscii());
Gefällt mir besser. Irgendwelche Formatierungen habe ich bereits vorher gemacht.
Es ist IMHO keine besonders gute Idee printf(anystring) zu benutzen. In anystring könnte eine Formatierungsanweisung enthalten sein.
cu, Bernd
--
Code: Alles auswählen
QString qs("Aber Hallo %s\n %d %p Ende");
printf( qs.toAscii() );
Verfasst: 19. Juni 2007 14:01
von Christian81
macman hat geschrieben:
Gefällt mir besser.
Na dann viel Spass beim Crash wenn Du aus versehen irgendwo ein '%' in qs hast ...
Verfasst: 19. Juni 2007 15:08
von macman
Christian81 hat geschrieben:Na dann viel Spass beim Crash wenn Du aus versehen irgendwo ein '%' in qs hast ...
Hmm, stimmt. Ist mir bisher noch nicht untergekommen. Ich versuche es mir zu merken

Verfasst: 20. Juni 2007 09:00
von dam1
Super, danke euch.. Bin getern beim lesen der QString api docs selbst auf die Idee gekommen ne Transformation zu ascii vorzunehmen und dann ging alles.
Verfasst: 20. Juni 2007 13:20
von patrik08
qPrintable ist auch elegant....
Code: Alles auswählen
bool SqlConnect( QString connecter )
{
QUrl dns(connecter);
QString dbase = dns.path().replace("/","");
std::cout << "scheme->[" << qPrintable(dns.scheme()) << "]" << std::endl;
std::cout << "dbase->[" << qPrintable(dbase) << "]" << std::endl;
std::cout << "user->[" << qPrintable(dns.userName()) << "]" << std::endl;
std::cout << "pass->*********]" << std::endl;
std::cout << "host->[" << qPrintable(dns.host()) << "]" << std::endl;
std::cout << "port->[" << dns.port() << "]" << std::endl;
QStringList drivers = QSqlDatabase::drivers();
if (!drivers.contains("QMYSQL")) {
std::cout << "### Load QMYSQL Driver Fail!." << std::endl;
return false;
}
...............