collate::transform
Convertit une séquence de caractères les paramètres régionaux d'une chaîne qui peut être utilisée dans les comparaisons lexicographiques avec d'autres séquences de caractères converties de les mêmes paramètres régionaux.
string_type transform(
const CharType* _First,
const CharType* _Last
) const;
Paramètres
_First
Pointeur vers le premier caractère de la séquence à convertir._Last
Pointeur vers le dernier caractère de la séquence à convertir.
Valeur de retour
Chaîne qui contient la séquence de caractères transformées.
Notes
La fonction retourne do_transformmembre (_First, _Last).
Exemple
// collate_transform.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <tchar.h>
using namespace std;
int main( )
{
locale loc ( "German_Germany" );
_TCHAR* s1 = _T("\x00dfzz abc.");
// \x00df is the German sharp-s (looks like beta),
// it comes before z in the alphabet
_TCHAR* s2 = _T("zzz abc.");
collate<_TCHAR>::string_type r1; // OK for typedef?
r1 = use_facet< collate<_TCHAR> > ( loc ).
transform (s1, &s1[_tcslen( s1 )-1 ]);
cout << r1 << endl;
basic_string<_TCHAR> r2 = use_facet< collate<_TCHAR> > ( loc ).
transform (s2, &s2[_tcslen( s2 )-1 ]);
cout << r2 << endl;
int result1 = use_facet<collate<_TCHAR> > ( loc ).compare
(s1, &s1[_tcslen( s1 )-1 ], s2, &s2[_tcslen( s2 )-1 ] );
cout << _tcscmp(r1.c_str( ),r2.c_str( )) << result1
<< _tcscmp(s1,s2) <<endl;
}
Configuration requise
**En-tête :**paramètres régionaux <de >
Espace de noms : std