C ++ Locale Library - ampliar

Descrição

Ela é usada para ampliar caracteres e, internamente, esta função simplesmente chama o membro protegido virtual do_widen, que faz o acima por padrão no modelo genérico e na especialização char (ctype <char>).

Declaração

A seguir está a declaração para std :: ctype :: widen.

C ++ 98

char_type tolower (char_type c) const;

C ++ 11

char_type tolower (char_type c) const;

Parâmetros

  • c - É um tipo char.

  • low,high - É um ponteiro para o início e o fim da sequência de caracteres.

  • to - É um ponteiro para uma série de elementos do tipo de caractere da faceta.

Valor de retorno

Ele retorna a transformação de c.

Exceções

Se uma exceção for lançada, não haverá mudanças no objeto da faceta, embora os personagens no intervalo possam ter sido afetados.

Corridas de dados

http://tpcg.io/YqaGeY

O objeto e os elementos no intervalo [baixo, alto) são acessados.

Exemplo

No exemplo a seguir, explica sobre 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;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

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