collate::compare
Compara dos secuencias de caracteres según las reglas faceta- específicas para la igualdad o desigualdad.
int compare(
const CharType* _First1,
const CharType* _Last1,
const CharType* _First2,
const CharType* _Last2
) const;
Parámetros
_First1
Puntero al primer elemento de la primera secuencia que se va a comparar._Last1
Puntero al último elemento de la primera secuencia que se va a comparar._First2
Puntero al primer elemento en la segunda secuencia que se va a comparar._Last2
Puntero al último elemento de la segunda secuencia que se va a comparar.
Valor devuelto
La función miembro devuelve:
– 1 si la primera secuencia compara menor que la segunda secuencia.
+1 si la segunda secuencia compara menos que la primera secuencia.
0 si las secuencias son equivalentes.
Comentarios
La primera secuencia compara menos si tiene el elemento más pequeño en pares desiguales más tempranas de secuencias, o, si no existe ningún par desigual, pero la primera secuencia es más corta.
La función miembro devuelve do_compare(_First1, _Last1, _First2, _Last2).
Ejemplo
// 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;
}
Resultados del ejemplo
-1
1
Requisitos
configuración regional <deEncabezado: >
Espacio de nombres: std