std:: wcscoll
| 
           
           Défini dans l'en-tête
            
         
            
             <cwchar>
            
           
           | 
         ||
| 
           
           
            
             int
            
            wcscoll
            
             (
            
            
             const
            
            
             wchar_t
            
            
             *
            
            lhs,
            
             const
            
            
             wchar_t
            
            
             *
            
            rhs
            
             )
            
            
             ;
            
           
           
          | 
         ||
Compare deux chaînes larges terminées par un caractère nul selon les paramètres régionaux les plus récemment installés par std::setlocale , tels que définis par la catégorie LC_COLLATE .
         Table des matières | 
       
Paramètres
| lhs, rhs | - | pointeurs vers les chaînes larges terminées par un caractère nul à comparer | 
Valeur de retour
Valeur négative si lhs est inférieur à (précède) rhs .
 0  si lhs est égal à rhs .
Valeur positive si lhs est supérieur à (suit) rhs .
Notes
L'ordre de collation est l'ordre du dictionnaire : la position de la lettre dans l'alphabet national (sa classe d'équivalence ) a une priorité plus élevée que sa casse ou sa variante. Au sein d'une classe d'équivalence, les caractères minuscules se trient avant leurs équivalents majuscules et l'ordre spécifique aux paramètres régionaux peut s'appliquer aux caractères avec diacritiques. Dans certaines régions, des groupes de caractères sont comparés comme des unités de collation uniques. Par exemple, "ch" en tchèque suit "h" et précède "i" , et "dzs" en hongrois suit "dz" et précède "g" .
Exemple
#include <clocale> #include <iostream> void try_compare(const wchar_t* p1, const wchar_t* p2) { if (std::wcscoll(p1, p2) < 0) std::wcout << p1 << " before " << p2 << '\n'; else std::wcout << p2 << " before " << p1 << '\n'; } int main() { std::setlocale(LC_ALL, "en_US.utf8"); std::wcout << "In the American locale: "; try_compare(L"hrnec", L"chrt"); std::setlocale(LC_COLLATE, "cs_CZ.utf8"); std::wcout << "In the Czech locale: "; try_compare(L"hrnec", L"chrt"); std::setlocale(LC_COLLATE, "en_US.utf8"); std::wcout << "In the American locale: "; try_compare(L"år", L"ängel"); std::setlocale(LC_COLLATE, "sv_SE.utf8"); std::wcout << "In the Swedish locale: "; try_compare(L"år", L"ängel"); }
Sortie :
In the American locale: chrt before hrnec In the Czech locale: hrnec before chrt In the American locale: ängel before år In the Swedish locale: år before ängel
Voir aussi
| 
         compare deux chaînes selon la locale actuelle
          (fonction)  | 
       |
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         compare deux chaînes en utilisant les règles de collation de cette facette
          (fonction membre protégée virtuelle de 
           std::collate<CharT>
          
          )
         
         | 
       
         transforme une chaîne large pour que
         
          wcscmp
         
         produise le même résultat que
         
          wcscoll
         
         (fonction)  | 
       |
| 
          
          
           
            Documentation C
           
          
          pour
          
           
            wcscoll
           
          
          
         | 
       |