collate::compare
Compare deux séquences de caractères conformément à les règles de facette- à leur égalité et leur 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 dans 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 dans la deuxième séquence à comparer._Last2
Pointeur vers le dernier élément dans la deuxième séquence à comparer.
Valeur de retour
La fonction membre :
– 1 si la première séquence compare inférieure à 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 possède l'élément inférieure de la paire irréguliers les versions antérieures des séquences, ou, si une paire inégale n'existe pas, mais que la première séquence est plus courte.
La fonction retourne do_comparemembre (_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 :**paramètres régionaux <de >
Espace de noms : std