Biblioteca C ++ Locale - em

Descrição

É usado para traduzir em caracteres e a função para de converter assim que falha na conversão de um caractere ou quando from_end é alcançado e seu caractere é convertido com sucesso.

Declaração

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

C ++ 98

result in (state_type& state, 
   const extern_type* from, const extern_type* from_end, const extern_type*& from_next,
   intern_type* to, intern_type* to_limit, intern_type*& to_next) const;

C ++ 11

result in (state_type& state, 
   const extern_type* from, const extern_type* from_end, const extern_type*& from_next,
   intern_type* to, intern_type* to_limit, intern_type*& to_next) const;

Parâmetros

  • state - É um objeto de estado.

  • from, from_end - É usado para encontrar os caracteres iniciais e finais da sequência de origem.

  • from_next - É usado para localizar um elemento na faixa acima.

  • to_next - É usado para localizar um elemento na faixa acima.

Valor de retorno

Ele retorna codecvt_base :: result.

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

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

Exemplo

No exemplo abaixo, explica sobre std :: ctype :: in.

#include <iostream>
#include <locale>
#include <string>
#include <cwchar>

int main () {
   typedef std::codecvt<wchar_t,char,std::mbstate_t> facet_type;

   std::locale mylocale;

   const facet_type& myfacet = std::use_facet<facet_type>(mylocale);

   const char mystr[] = "Tutorialspoint.com";

   wchar_t pwstr[sizeof(mystr)];
   std::mbstate_t mystate = std::mbstate_t();
   const char* pc;
   wchar_t* pwc;

   facet_type::result myresult = myfacet.in (mystate,
      mystr, mystr+sizeof(mystr), pc, pwstr, pwstr+sizeof(mystr), pwc);

   if ( myresult == facet_type::ok ) {
      std::wcout << L"Translation was successful: ";
      std::wcout << pwstr << std::endl;
   }
   return 0;
}

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

Translation was successful: Tutorialspoint.com