Compartir a través de


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

Vea también

Referencia

collate (Clase)