collate::compare

根据的等式或不等式 (IDE) 的特定规则比较双重都的序列。

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

参数

  • _First1
    对第一元素的指针将比较的第一个序列。

  • _Last1
    对最后元素的指针将比较的第一个序列。

  • _First2
    对第一元素的指针将比较的第二个序列。

  • _Last2
    对最后元素的指针将比较的第二个序列。

返回值

成员函数返回:

  • (1,如果第一个序列比第二个序列较低比较。

  • +1,如果第二个序列比第一个序列较低比较。

  • 0,如果序列为等效的。

备注

第一个序列较低比较,则具有较小的元素在序列的最早的不相等对,或者,如果不相等对不存在,不过,第一个序列较短。

成员函数返回 do_compare(_First1、_Last1、_First2,_Last2)。

示例

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

示例输出

-1
1

要求

页眉: <区域设置>

命名空间: std

请参见

参考

collate 类