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