Compartilhar via


_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

Converter uma seqüência em um unsigned __int64 valor.

unsigned __int64 _strtoui64(
   const char *nptr,
   char **endptr,
   int base 
);
unsigned __int64 _wcstoui64(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
unsigned __int64 _strtoui64_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
unsigned __int64 _wcstoui64(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parâmetros

  • nptr
    Seqüência terminada por caractere nulo para converter.

  • endptr
    Ponteiro para o caractere que interrompe a varredura.

  • base
    Número base a ser usado.

  • locale
    Código de idioma.

Valor de retorno

_strtoui64Retorna o valor representado na seqüência de caracteres nptr, exceto quando a representação poderia causar um estouro de capacidade, que nesse caso retorna _UI64_MAX._strtoui64retorna 0 se nenhuma conversão pode ser executada.

_UI64_MAXé definido em limites.H.

Se nptr é NULL ou o base é diferente de zero e o menor 2 ou maior do que 36, errno for definido como EINVAL.

Consulte _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre estes e outros, códigos de retorno.

Comentários

The _strtoui64function converts nptr to an unsigned __int64._wcstoui64é uma versão de caractere largo de _strtoui64; sua nptr argumento é uma seqüência de caracteres largos.Caso contrário, essas funções tenham comportamento idêntico.

Ambas as funções parar de ler a seqüência de caracteres nptr no primeiro caractere que não reconhecem como parte de um número.Isso pode ser o caractere nulo de terminação, ou pode ser o primeiro caractere numérico maior que ou igual a base.

Mapeamentos de rotina de texto genérico

TCHAR.Rotina H

_ Unicode & _ MBCS do arquivo não definido

_ MBCS do arquivo definido

_ Unicode definido

_tcstoui64

_strtoui64

_strtoui64

_wstrtoui64

_tcstoui64_l

_strtoui64_l

_strtoui64_l

_wstrtoui64_l

A localidade atual LC_NUMERIC categoria determina o reconhecimento do caractere fracionário nptr; Para obter mais informações, consulte setlocale.As funções sem o sufixo _l usarem o local atual; _strtoui64_l e_wcstoui64_l são idênticas às funções correspondentes sem a _l de sufixo, exceto que eles usam a localidade do passado em vez disso.Para obter mais informações, consulte Localidade.

Se endptr não é NULL, um ponteiro para o caractere que parou a verificação é armazenado no local apontado pelo endptr.Se nenhuma conversão pode ser realizada (não foi encontrado nenhum dígito válido ou uma base inválida foi especificada), o valor de nptr é armazenado no local apontado pelo endptr.

_strtoui64 espera nptr para apontar para uma seqüência de caracteres do seguinte formato:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

A whitespace pode consistir em caracteres de espaço e tabulação, que são ignorados; digits são um ou mais dígitos decimais.O primeiro caractere que não cabe neste formulário pára a varredura.Se base está entre 2 e 36, e em seguida, ele é usado como a base do número.Se base é 0, os caracteres iniciais da seqüência de caracteres apontada por nptr são usados para determinar a base.Se o primeiro caractere é 0 e o segundo caractere não é 'x' ou 'X', a seqüência de caracteres é interpretada como um inteiro octal; Caso contrário, ele é interpretado como um número decimal.Se o primeiro caractere é '0' e o segundo é o caractere 'x' ou 'X', a seqüência de caracteres é interpretada como um inteiro hexadecimal.Se o primeiro caractere é ' 1' a ' 9', a seqüência de caracteres é interpretada como um número inteiro decimal.As letras 'a' a 'z' (ou 'A' a 'Z') é atribuída os valores de 10 a 35; apenas letras cujos valores atribuídos estão menos de base são permitidos.

Requisitos

Rotina

Cabeçalho necessário

_strtoui64

<stdlib.h>

_wcstoui64

<stdlib.h> ou <wchar.h>

_strtoui64_l

<stdlib.h>

_wcstoui64_l

<stdlib.h> ou <wchar.h>

Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.

Exemplo

// crt_strtoui64.c
#include <stdio.h>

unsigned __int64 atoui64(const char *szUnsignedInt) {
   return _strtoui64(szUnsignedInt, NULL, 10);
}

int main() {
   unsigned __int64 u = atoui64("18446744073709551615");
   printf( "u = %I64u\n", u );
}
  

Consulte também

Referência

Conversão de Dados

Localidade

localeconv

setlocale, wsetlocale

Seqüência de funções de valor numérico

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l