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