Seite 1 von 1
Array aus QString's
Verfasst: 26. Mai 2010 10:27
von hustala
Hallo allerseits
Ich hab da eine kleine Frage und zwar möchte ich ein Array aus QString's machen und dieses befüllen.
Code: Alles auswählen
mStateMessage[255] = new QString();
mStateMessage[0]->fromAscii("000");
cout <<"GateMessage[0] =" << mStateMessage[0]<<endl;
die Ausgabe lautet: GateMessage[0] = 0xbfacf1a8
Nun sieht mir das eher nach der Adresse aus. Ich möchte aber auf den text im String zugreifen. Kann mir da jemand eine erklärung geben?
Verfasst: 26. Mai 2010 10:39
von Mani99
Wie wärs mit
Zur not könnte man auch einfach in der dokumentation nachschlagen...
Re: Array aus QString's
Verfasst: 26. Mai 2010 11:08
von franzf
hustala hat geschrieben:Ich hab da eine kleine Frage und zwar möchte ich ein Array aus QString's machen und dieses befüllen.
Code: Alles auswählen
mStateMessage[255] = new QString();
mStateMessage[0]->fromAscii("000");
cout <<"GateMessage[0] =" << mStateMessage[0]<<endl;
Da mangelt es aber an C++-Kenntnissen.
Wenn die Größe statisch ist, also zur Compilezeit bekannt, ist es unsinnig, das Array über new anzulegen.
Wenn es dynamisch sein soll, stimmt deine Syntax auch nicht:
Aber da du C++ programmierst und nicht C, verwendest du bitte auch Containerklassen. QStringList wurde bereits erwähnt, das wäre ein guter Anfang.
Wenn du was schnelles indexbasiertes brauchst, wäre QVector<QString> eine gute Alternative. Damit ist dann der Zugriff myStrings[200] in konstanter Zeit möglich.
Verfasst: 26. Mai 2010 11:25
von hustala
OK danke für die antworten.
Dann werde ich nochmal hinter die bücher gehen hehe.
klappt bestens mit QVector. Hab ich noch nicht gekannt
Code: Alles auswählen
QVector<QString> mStateMessage(255);
for(int i = 0 ; i < 255 ; i++)
{
QString s;
if(i < 10)
{ s = "00" + s.setNum(i);
}else if(i < 100)
{ s = "0" + s.setNum(i);
}else
{ s.setNum(i);
}
mStateMessage[i] = s;
cout << "mStateMessage["<<i<<"]: " << mStateMessage[i].toStdString() << endl;
}
output stimmt
danke nochma