IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Egalité 2 QString casse différentes


Sujet :

Qt

  1. #1
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut Egalité 2 QString casse différentes
    Bonjour, est-ce qu'il y a moyen avec les fonctions de QString de savoir si 2 chaînes sont égales sans prendre en compte la casse.

    Ex: Train == traiN -> me donne une égalité vraie

    J'essaye d'éviter d'avoir à redéfinir l'opérateur ==.

    Merci.

    Edit: en fait ma question est mal posé. Je pourrai faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    QString strA("Train");
    QString strB("traiN");
    if(srtA.toLower() == strB.toLower())
    //...
    Mais le probème c'est pas ça.


    Mon problème est que j'ai un QMap dans lequel mes clés sont des QString. Je voudrais retrouver par ex toutes les clés qui correspondent à "Train","traiN"...

    Bon escusez moi je suis en train de réfléchir et de trouver des solutions à la fois. Je vais réfléchir une bonne fois pour toute et revenir après.

  2. #2
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut
    Donc plus clairement:

    J'ai un QMap<QString,int>

    Mes QString sont des noms de répertoires dont je veux garder la casse.
    Une fois ce QMap rempli, je veux retrouver tous les noms de répertoire qui correspondent à une chaîne donnée.

    Ex: mon QMap contient les noms de répertoire suivant: "Mon Répertoire" et "mon répertoire". Je veux qu'a partir de la chaîne "MON Répertoire" il me trouve les 2 noms précédents.

    En fait il me suffit de redéfinir l'opérateur == de l'objet QString dans une classe dérivée MString de telle manière qu'il ne prenne pas en compte la casse? Comme ça QMap utilisera l'opréteur == pour retrouver les noms de répertoires sans prendre en compte la casse?

  3. #3
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Pour ce qui est de la comparaison en elle-même, tu peux utiliser QString::compare; cette fonction te permet de spécifier la sensitivité (uo non) à la casse.
    Par contre, ce n'est pas operator== qu'il faut redéfinir, mais operator<:
    Citation Envoyé par doc
    The key type of a QMap must provide operator<() specifying a total order.

  4. #4
    Membre habitué
    Avatar de Nykoo
    Profil pro
    Inscrit en
    février 2007
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2007
    Messages : 234
    Points : 166
    Points
    166
    Par défaut
    A oui j'avais effectivement regardé trop vite et j'avais pas vu le case sensitive dans compare.

    Ok pour l'opérateur.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Même caractère casse différente ( en back reference )
    Par SpaceFrog dans le forum Langage
    Réponses: 8
    Dernier message: 22/03/2014, 17h49
  2. Réponses: 1
    Dernier message: 30/08/2010, 13h15
  3. Pas de casse dans les XML
    Par :GREG: dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 14h51
  4. Simulation de transmission de paquet entre différent réseaux
    Par MelloW dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 20h51
  5. Réponses: 2
    Dernier message: 17/05/2002, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo