C ++ Locale Library - ampliare

Descrizione

Viene utilizzata per ampliare i caratteri e internamente, questa funzione chiama semplicemente il membro protetto virtuale do_widen, che fa quanto sopra per impostazione predefinita sia nel modello generico che nella specializzazione char (ctype <char>).

Dichiarazione

Di seguito è riportata la dichiarazione per std :: ctype :: widen.

C ++ 98

char_type tolower (char_type c) const;

C ++ 11

char_type tolower (char_type c) const;

Parametri

  • c - È un tipo char.

  • low,high - È un puntatore all'inizio e alla fine della sequenza di caratteri.

  • to - È un puntatore a una serie di elementi del tipo di carattere del facet.

Valore di ritorno

Restituisce la trasformazione di c.

Eccezioni

Se viene generata un'eccezione, non vengono apportate modifiche all'oggetto facet, sebbene i caratteri nell'intervallo potrebbero essere stati influenzati.

Gare di dati

http://tpcg.io/YqaGeY

Si accede all'oggetto e agli elementi nell'intervallo [basso, alto).

Esempio

Nell'esempio seguente viene illustrato lo std :: ctype :: widen.

#include <iostream>
#include <locale>
int main () {
   std::locale loc;

   const char narrow_phrase[] = "Sairamkrishna Mammahe";
   wchar_t wide_phrase[sizeof(narrow_phrase)];

   std::wcout << L"The first wide character is: ";
   wchar_t wc = std::use_facet< std::ctype<wchar_t> >(loc).widen ( *narrow_phrase );
   std::wcout << wc << std::endl;

   std::wcout << L"The wide-character phrase is: ";
   std::use_facet< std::ctype<wchar_t> >(loc).widen (narrow_phrase,
                                                    narrow_phrase+sizeof(narrow_phrase),
                                                    wide_phrase);
   std::wcout << wide_phrase << std::endl;

   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

The first wide character is: S
The wide-character phrase is: Sairamkrishna Mammahe