Udostępnij za pośrednictwem


collate::compare

Porównuje dwie sekwencje znaków zgodnie z ich przepisami aspekt specyficzne dla równości lub nierówności.

int compare( 
   const CharType* _First1, 
   const CharType* _Last1, 
   const CharType* _First2, 
   const CharType* _Last2 
) const;

Parametry

  • _First1
    Wskaźnik do pierwszego elementu w pierwszej kolejności ma być porównywana.

  • _Last1
    Wskaźnik ostatniego elementu w pierwszej kolejności ma być porównywana.

  • _First2
    Wskaźnik do pierwszego elementu w drugiej kolejności, która ma być porównywana.

  • _Last2
    Wskaźnik ostatni element w drugiej kolejności, która ma być porównywana.

Wartość zwracana

Zwraca element członkowski funkcja:

  • -1, jeśli pierwszego sekwencji porównuje mniej niż drugiej sekwencji.

  • + 1 Jeśli sekwencja druga porównuje mniej niż pierwszego sekwencji.

  • 0, jeśli sekwencje są równoważne.

Uwagi

Sekwencja pierwszego porównuje mniej, jeśli ma mniejsze element najwcześniejszą pary nierówne w sekwencjach lub, jeśli istnieje nie nierówne pary, ale pierwszego sekwencji jest krótszy.

The member function returns do_compare(_First1, _Last1, _First2, _Last2).

Przykład

// 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;
}

Przykładowe dane wyjściowe

-1
1

Wymagania

Nagłówek:<ustawień regionalnych>

Przestrzeń nazw: std

Zobacz też

Informacje

collate — Klasa