[gelöst] QStringList in Datei plotten

Verschiedenes zu Qt
Antworten
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

[gelöst] QStringList in Datei plotten

Beitrag von 24dan »

Hallo habe eine QStringList angelegt und sortiert mit qsort.
Wenn ich jetzt diese Liste ausgeben möchte bekomme ich immer nur den ersten char vom Pointer auf das Listenelement. Wie kann ich auf den gesamten Inhalt der einzelnen Listenelemente zugreifen?

Code: Alles auswählen

    QStringList list;
    list << "AlPha" << "beTA" << "gamma" << "DELTA";
    qSort(list.begin(), list.end(), caseInsensitiveLessThan);
	int ps;
	
    for (ps = 0; ps < list.size(); ++ps) {
	    outfile << *list.at(ps);
	}
    outfile << endl;

Ausgabe:
AbDg
Zuletzt geändert von 24dan am 26. Mai 2007 17:31, insgesamt 1-mal geändert.
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was willst du mit dieser Konstruktion bezwecken:

Code: Alles auswählen

 *list.at(ps); 
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Ich wollte eigentlich die Ausgabe:
AlPha beTA DELTA gamma
erhalten.

Und mit *list.at(ps) wollte ich de vier Strings auswerfen.

Bei mir gibt die fortgeschrittenere Variante:

Code: Alles auswählen

for(QStringList::Iterator it = list.begin();it!=list.end();++it) {
		outfile<<*it;
	}
Nur ne Fehlermeldung...
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Burgpflanze
Beiträge: 89
Registriert: 24. Februar 2006 16:41
Wohnort: Dresden

Beitrag von Burgpflanze »

Versuch mal nicht :

Code: Alles auswählen

*list.at( ps )
sondern:

Code: Alles auswählen

list.at( ps ).toLocal8Bit.constData()
(PS: Nicht getestet! :wink:)
Gruß, Peter
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

...so jetzt habe ich den Fehler gefunden.


Also nochmals Danke an alle:

der Quelltext muss also so aussehen:

Code: Alles auswählen

    QStringList list;
    list << "AlPha" << "beTA" << "gamma" << "DELTA";
    qSort(list.begin(), list.end(), caseInsensitiveLessThan);
	int ps;
	
    QStringList::const_iterator it;
    for(it = list.begin();it!=list.end();++it) {
		outfile << (*it).toLocal8Bit().constData();
	}
Unterschied:

QStringList::const_iterator it;
und
outfile << (*it).toLocal8Bit().constData();
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Antworten