Partager via


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

Voir aussi

Référence

collate Class