collate::transform
Convertit une séquence de caractères des paramètres régionaux une chaîne qui peut être utilisée dans les comparaisons lexicographiques avec d'autres séquences de caractères de converties 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 dans la séquence à convertir.
Valeur de retour
Une chaîne qui contient la séquence de caractères transformée.
Notes
La fonction membre retourne do_transform(_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 : <locale>
l'espace de noms : DST