collate::transform
Converte una sequenza di caratteri dalle impostazioni locali su una stringa che può essere utilizzato nei confronti lessicografici con altre sequenze di caratteri allo stesso modo in cui le stesse impostazioni locali.
string_type transform(
const CharType* _First,
const CharType* _Last
) const;
Parametri
_First
Un puntatore al primo carattere della sequenza da convertire._Last
Un puntatore all'ultimo carattere della sequenza da convertire.
Valore restituito
Stringa contenente la sequenza di caratteri trasformata.
Note
La funzione membro restituisce do_transform(_First, _Last).
Esempio
// 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;
}
Requisiti
intestazione: <locale>
Spazio dei nomi: deviazione standard