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

 C++ Discussion :

Comparaison de chaine


Sujet :

C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Comparaison de chaine
    Bonjour,

    Mon problème concerne la fonction _tcsicmp et le ORDER BY d'Access.

    Pour comparer deux chaines de caractères, j'utilise _tcsicmp(strChaine1, strChaine2);

    Je construis un tableau de chaines de caractères trié en utilisant le _tcsicmp, le résultat est le suivant:

    &
    1
    2
    :
    ;
    _
    A
    aa
    B
    à
    è
    é

    Ce tableau est remplit par rapport à un recordset obtenu en effectuant cette requête (SELECT <Monchamp> FROM <MaTable> ORDER BY <Monchamp>; ) Malheureusement le résultat de cette requête me donne:

    &
    :
    ;
    _
    1
    2
    A
    à
    aa
    B
    é
    è

    J'obtiens deux résultats totalement différents, il n'est pas possible de changer le trie dans Access, par conséquent je recherche le moyen d'obtenir le même trie dans mon tableau de chaines.

    Est ce que quelqu'un a une idée ?

    Cordialement,
    BR

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 254
    Points : 538
    Points
    538
    Par défaut
    Je pense que le plus simple est de modifier l'algo de tri de ton coté plutot que du coté d'ACCESS

    Pour avoir un algo de tri maison tu peux utiliser la STL. Si mes souvenirs sont bon la fonction sort() de la STL prend en paramètre un callback qui te permet de définir ta propre fonction pour faire le tri.

    Regarde de ce coté là
    "L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein
    ----------------------
    T.O.A.O 6-MarViN

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Redéfinir ma propre fonction de trie n'est pas un problème, mon problème est de connaitre la méthode de comparaison de caractère utilisée par Access pour pouvoir l'implémenter dans mon code.

    La fonction _tcsicmp se base apparemment sur le code ascii pour trier les caractères, serait-il possible de pouvoir changer ce critère de trie.

    Par exemple la fonction :
    int _stricmp_l( const char *string1, const char *string2, _locale_t locale);
    mais comment initialiser le bon 'locale' ?

Discussions similaires

  1. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 15h32
  2. [langage] Comparaison de chaîne
    Par Fastshadow dans le forum Langage
    Réponses: 7
    Dernier message: 05/09/2004, 18h58
  3. comparaison de chaines de caracteres en PLSQL
    Par biozaxx dans le forum PL/SQL
    Réponses: 3
    Dernier message: 19/08/2004, 09h41
  4. Comparaison de chaines
    Par Marc_P dans le forum Linux
    Réponses: 6
    Dernier message: 17/02/2004, 17h04
  5. [LG]comparaison de chaines de caracteres
    Par thesam dans le forum Langage
    Réponses: 6
    Dernier message: 20/05/2003, 22h41

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