Anzeige:
Ergebnis 1 bis 7 von 7

Thema: QString[2] String vergleich

  1. #1
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177

    QString[2] String vergleich

    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:
    Code:
    QString c = xyz;
    jetzt möchte ich einen Vergleich machen, welcher, egal wie nicht funktioniert

    Code:
    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

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Code:
    " '

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Du vermischst CString Code mit Qt::QString
    Das ist eine weniger gut Idee
    Verwende die QString Funktionen zum vergleichen von QStrings
    z.B:
    Code:
    if ( c.contains("z") )
    qDebug() << "OK";
    Geändert von undefined (24-01-2010 um 18:15 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  4. #4
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Alles Klar! Werde ich machen, vielen dank.

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Oder auch so

    Code:
    if (c[2] == QLatin1Char('z'))
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  6. #6
    Registrierter Benutzer
    Registriert seit
    02.08.2008
    Beiträge
    177
    Hi, will leider noch nicht so ganz klappen.

    Ich habe das ganze ein wenig ausgebaut:
    Code:
    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.
    Geändert von dml (26-01-2010 um 13:20 Uhr)

  7. #7
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    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,
    _
    Qt/KDE Entwickler
    Debian Benutzer

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •