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

Discussion :

Utilisation de la fonction compare avec des caractères chinois

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Utilisation de la fonction compare avec des caractères chinois
    Bonjour/Bonsoir,

    Je suis en train de créer un programme, dans ce programme je dois comparer deux caractères chinois écris sous forme hexadecimal seulement ça ne fonctionne pas.

    J'utilise cette fonction pour comparer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    void fengshuitradition::comparerAuto()
    {
        Stockage obj_stockage;
        Lunar lunar;
        LunarObj* obj = lunar.solar2lunar(ui->SBSelection_4->value(), ui->SBSelection_3->value(), ui->SBSelection_2->value());
        string day = obj->ganzhiDay;
        for(int i = 0; i<64; i++)
        {
            string jourComparer = obj_stockage.appelStockage(i,1);
            string jourComparer2 = obj_stockage.appelStockage(i,2);
            if (day.compare(0,6,jourComparer,0,6) == 0 && day.compare(7,6,jourComparer2,0,6) == 0)
            {
                ui->label_0->setText(obj_stockage.appelStockage(i,0));
                ui->label_1->setText(obj_stockage.appelStockage(i,1));
                ui->label_2->setText(obj_stockage.appelStockage(i,2));
                ui->label_3->setText(obj_stockage.appelStockage(i,3));
                ui->label_4->setText(obj_stockage.appelStockage(i,4));
                ui->label_5->setText(obj_stockage.appelStockage(i,5));
                ui->label_6->setText(obj_stockage.appelStockage(i,6));
                return;
            }
        }
    }
    Avec des valeurs stocker comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    const char* stockage[64][7] = {
     
    	{"1",				
        "\u7532 B+",
        u8"\u5b50 E+ hiver",
    	"24 F",
    	"8",
    	"癸E-",
    	". ."},
     
    // ainsi de suite
    Et j'utilise aussi une bibliothèque d'ou vient day avec des caractères comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    static std::string Gan[] = {"\u7532","\u4e59","\u4e19","\u4e01","\u620a","\u5df1","\u5e9a","\u8f9b","\u58ec","\u7678"};
     
     
    static std::string Zhi[] = {"\u5b50","\u4e11","\u5bc5","\u536f","\u8fb0","\u5df3","\u5348","\u672a","\u7533","\u9149","\u620c","\u4ea5"};
    Si quelqu'un à une idée de pourquoi ça ne fonctionne pas, je suis preneur ! Merci par avance !

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Points : 137
    Points
    137
    Par défaut
    Pourquoi ne pas lancer Qt en debug mode avec un stop dans ta fonction ?
    (comme cela tu verras les valeurs que tes variables internes prennent ...)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    J'ai fais ça à la manière forte, j'ai check caractère par caractère et j'ai réussi à trouver.

    En faite, dans la fonction compare, c'est pas 6 mais 3 qu'il faut mettre, je sais pas pourquoi par contre

    Je mets le sujet en résolu et merci du coup de main !

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

Discussions similaires

  1. Utilisation de la Fonction Rand () avec des conditions
    Par Karamus dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/10/2014, 17h11
  2. [ZF 1.11] Utiliser Zend_PDF avec des caractères roumains
    Par Général03 dans le forum Autres composants
    Réponses: 1
    Dernier message: 16/12/2011, 12h02
  3. utilisation de la fonction "deconv" avec des inconnues
    Par tcheck_vi dans le forum MATLAB
    Réponses: 11
    Dernier message: 27/07/2009, 19h49
  4. [RegEx] Utilisation de la fonction "preg_match_all" avec des apostrophe ou des œ
    Par arnaudperfect dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2008, 23h05
  5. Fichier de langue avec des caractères chinois
    Par marcootz dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/01/2007, 18h54

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