collate::compare
Compare deux séquences de caractères d'après les règles de facette- détail d'égalité ou d'inégalité.
int compare(
const CharType* _First1,
const CharType* _Last1,
const CharType* _First2,
const CharType* _Last2
) const;
Paramètres
_First1
Pointeur vers le premier élément de la première séquence à comparer._Last1
Pointeur vers le dernier élément de la première séquence à comparer._First2
Pointeur vers le premier élément de la deuxième séquence à comparer._Last2
Pointeur vers le dernier élément dans la deuxième séquence à comparer.
Valeur de retour
Les retours de fonction membre :
– 1 si la première séquence compare moins que la deuxième séquence.
+1 si la deuxième séquence compare moins que la première séquence.
0 si les séquences sont équivalentes.
Notes
La première séquence compare moins si elle contient l'élément le plus petit dans les paires inégales les plus haut dans les séquences, ou, si paire inégale n'existe pas, mais la première séquence est plus courte.
La fonction membre retourne do_compare(_First1, _Last1, _First2, _Last2).
Exemple
// collate_compare.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <tchar.h>
using namespace std;
int main() {
locale loc ( "German_germany" );
_TCHAR * s1 = _T("Das ist wei\x00dfzz."); // \x00df is the German sharp-s, it comes before z in the German alphabet
_TCHAR * s2 = _T("Das ist weizzz.");
int result1 = use_facet<collate<_TCHAR> > ( loc ).
compare ( s1, &s1[_tcslen( s1 )-1 ], s2, &s2[_tcslen( s2 )-1 ] );
cout << result1 << endl;
locale loc2 ( "C" );
int result2 = use_facet<collate<_TCHAR> > ( loc2 ).
compare (s1, &s1[_tcslen( s1 )-1 ], s2, &s2[_tcslen( s2 )-1 ] );
cout << result2 << endl;
}
Résultat de l'exemple
-1
1
Configuration requise
en-tête : <locale>
l'espace de noms : DST