PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QString[2] String vergleich



dml
22-01-2010, 08:53
Hi,

endlich hab ich mal wieder ein bisschen Zeit mein c++ aufzupolieren. Dabei bin ich jetzt auf folgendes Problem gestoßen.

Ich habe einen QString:

QString c = xyz;

jetzt möchte ich einen Vergleich machen, welcher, egal wie nicht funktioniert


if(c[2] == "z")
if(&c[2] == "z")
if(strcmp(c[2],"z")!=0)
if(strcmp(&c[2],"z")!=0)

Deshalb meine Bitte an Euch, verrät mich doch bitte wie ich das hinkriege? :)

Danke
dml

dml
22-01-2010, 10:39
" '
:mad: ;)

undefined
24-01-2010, 17:13
Du vermischst CString Code mit Qt::QString
Das ist eine weniger gut Idee ;)
Verwende die QString Funktionen zum vergleichen von QStrings
z.B:

if ( c.contains("z") )
qDebug() << "OK";

dml
25-01-2010, 11:55
Alles Klar! Werde ich machen, vielen dank. :)

anda_skoa
25-01-2010, 13:42
Oder auch so



if (c[2] == QLatin1Char('z'))


Ciao,
_

dml
26-01-2010, 12:16
Hi, will leider noch nicht so ganz klappen.

Ich habe das ganze ein wenig ausgebaut:


QDIR dir(/home/user/...);
QFileInfoList fileinfolist;
QStringList stringlist;
QString value;

stringlist <<"Verzeichnis_1"<<"Verzeichnis_2"<<"Verzeichnis_3";
fileinfolist << dir.entryInfoList();
if(fileinfolist.contains(stringlist[1])){
value = stringlist[1];
}
else{
value = "nichts gefunden";
}


Doch er will einfach nicht in die If-Schleife. :(

anda_skoa
26-01-2010, 12:22
Das ist jetzt schon was anderes, du suchst jetzt nach einem String in einer Liste, nicht nach einem Zeichen in einem String.

Nimm statt der QFileInfoList eine QStringList und QDir::entryList()

Ciao,
_