Compartilhar via


num_get::do_get

Uma função virtual que é chamada para um extratos numérico ou um valor Booleano de uma seqüência de caracteres.

virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    long& _Val
) const;virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    unsigned short& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    unsigned int& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    unsigned long& _Val
) const;
virtual iter_type do_get(
    iter_type _First, 
    iter_type _Last,
    ios_base& _Iosbase, 
    ios_base::iostate& _State,
    long long& _Val
) const;
virtual iter_type do_get(
    iter_type _First, 
    iter_type _Last,
    ios_base& _Iosbase, 
    ios_base::iostate& _State,
    unsigned long long& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    float& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    double& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    long double& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    void *& _Val
) const;
virtual iter_type do_get(
    iter_type _First,
    iter_type _Last,
    ios_base& _Iosbase,
    ios_base::iostate& _State,
    bool& _Val
) const;

Parâmetros

  • _First
    O início do intervalo de caracteres de que para ler o número.

  • _Last
    A o final do intervalo de caracteres de que para ler o número.

  • _Iosbase
    ios_base cujos os sinalizadores são usados pela conversão.

  • _State
    O estado em que o failbit (consulte ios_base::iostate) é adicionado em cima de falha.

  • _Val
    O valor que foi lido.

Valor de retorno

O iterador após o valor foi lido.

Comentários

A primeira função de membro virtual, protegida

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

long& _Val

) const;

corresponde aos elementos seqüenciais que começam em _First na seqüência [_First,_Last) até que reconhece um campo completo, não vazio de entrada inteiro.Se com êxito, ele converte este campo em seu valor equivalente como o tipo long, e armazena o resultado em _Val.Retorna um iterador que designa o primeiro elemento além de campo numérico de entrada.Caso contrário, a função não armazena nada em _Val e defina ios_base::failbit em state.Retorna um iterador que designa o primeiro elemento além de qualquer prefixo de um campo válido de entrada inteiro.Em ambos os casos, se o valor de retorno é igual last, a função define ios_base::eofbit em state.

O campo de entrada inteiro é convertido pelas mesmas regras usadas pelas funções de verificação correspondentes e chamando uma série de elementos de char de um arquivo.(Cada tal elemento de char é assumido mapear para um elemento equivalente de tipo Elem por um simples, linear, mapeando.) A especificação de conversão equivalente de verificação é determinado como segue:

Se iosbase.ios_base::flags() & ios_base::basefield == ios_base::oct, a especificação de conversão é lo.

Se iosbase.flags() & ios_base::basefield == ios_base::hex, a especificação de conversão é lx.

Se iosbase.flags() & ios_base::basefield == 0, a especificação de conversão é li.

Caso contrário, a especificação de conversão é ld.

O formato de um campo de entrada inteiro é determinado por aspecto da localidademaisfac retornado pela chamada use_facet<numpunct<Elem>(iosbase.ios_base::getloc()).Especificamente:

fac.numpunct::grouping() determina como os dígitos à esquerda são agrupados de um ponto decimal

fac.numpunct::thousands_sep() determina a seqüência que separa grupos de dígitos à esquerda de um ponto decimal.

Se nenhuma instância de fac.thousands_sep() ocorre no campo numérico de entrada, nenhuma restrição de agrupamento é aplicada.Caso contrário, todas as restrições de agrupamento aplicada por fac.grouping() estãas e separadores removidos antes da conversão de verificação ocorra.

a quarta função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

unsigned long& _Val

) const;

se comporta o mesmo que o primeiro, exceto que substitui uma especificação de conversão de ld com lu.Se com êxito convertem o campo numérico de entrada um valor do tipo unsigned long e armazena o valor em _Val.

a quinta função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

long long& _Val

) const;

se comporta o mesmo que o primeiro, exceto que substitui uma especificação de conversão de ld com lld.Se com êxito convertem o campo numérico de entrada um valor do tipo long long e armazena o valor em _Val.

a sexta função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

unsigned long long& _Val

) const;

se comporta o mesmo que o primeiro, exceto que substitui uma especificação de conversão de ld com llu.Se com êxito convertem o campo numérico de entrada um valor do tipo unsigned long long e armazena o valor em _Val.

a sétima função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

float& _Val

) const;

se comporta o mesmo que o primeiro, exceto que esforça-se corresponder um campo de ponto flutuante completo, não vazio de entrada.fac.numpunct::decimal_point() determina a seqüência que separa os dígitos inteiro dos dígitos da fração.O especificador equivalente de conversão de verificação é lf.

a oitava função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

double& _Val

) const;

se comporta o mesmo que o primeiro, exceto que esforça-se corresponder um campo de ponto flutuante completo, não vazio de entrada.fac.numpunct::decimal_point() determina a seqüência que separa os dígitos inteiro dos dígitos da fração.O especificador equivalente de conversão de verificação é lf.

a nona função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

long double& _Val

) const;

se comporta o mesmo que os oitavos, exceto que o especificador equivalente de conversão de verificação é Lf.

a nona função de membro protegida virtual:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

void *& _Val

) const;

se comporta o mesmo o primeiro, exceto que o especificador equivalente de conversão de verificação é p.

(A primeira décima) função de membro protegida virtual a última:

virtual iter_type do_get(

iter_type _First,

iter_type _Last,

ios_base& _Iosbase,

ios_base::iostate& _State,

bool& _Val

) const;

se comporta o mesmo que o primeiro, exceto que esforça-se corresponder um campo booleano completo, não vazio de entrada.Se com êxito convertem o campo booleano de entrada um valor do tipo bool e armazena o valor em _Val.

Um campo booleano de entrada usa um dos dois formulários.Se iosbase.flags() & ios_base::boolalpha é falso, é o mesmo que um campo de entrada inteiro, exceto que o valor deve ser convertido para 0 (falso) ou para 1 (verdadeiro).Caso contrário, a seqüência deve corresponder fac.numpunct::falsenamepara() (falso), ou fac.numpunct::truenamepara() (verdadeiro).

Exemplo

Consulte o exemplo para obter, onde a função de membro virtual é chamada por do_get.

Requisitos

Cabeçalho: <locale>

namespace: STD

Consulte também

Referência

num_get Class