collate::compare

Vergleicht zwei Zeichensequenzen nach ihren Facetbesondere Regeln für Gleichheit oder Ungleichheit.

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

Parameter

  • _First1
    Zeiger auf das erste Element in der ersten Sequenz verglichen werden.

  • _Last1
    Zeiger auf den letzten Element in der ersten Sequenz verglichen werden.

  • _First2
    Zeiger auf das erste Element in der zweiten Sequenz verglichen werden.

  • _Last2
    Zeiger auf den letzten Element in der zweiten Sequenz verglichen werden.

Rückgabewert

Die Memberfunktionsrückgaben:

  • - 1, wenn die erste Sequenz kleiner als die zweite Sequenz vergleicht.

  • +1 wenn die zweite Sequenz kleiner als die erste Sequenz vergleicht.

  • 0 Wenn die Sequenzen entsprechen.

Hinweise

Die erste Sequenz vergleicht weniger, wenn sie das kleinere Element in den frühesten ungleich Paaren in den Sequenzen verfügt, oder, wenn keine ungleich Paar vorliegen, doch die erste Sequenz kürzer ist.

Die Memberfunktion gibt do_compare zurück (_First1, _Last1, _First2, _Last2).

Beispiel

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

Beispielausgabe

-1
1

Anforderungen

Header: <locale>

Namespace: std

Siehe auch

Referenz

collate Class