Condividi tramite


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

Vedere anche

Riferimenti

collate Class