Share via


strtoull, _strtoull_l, wcstoull, _wcstoull_l

Converte cadeias de caracteres em um valor inteiro unsigned long long.

Sintaxe

unsigned long long strtoull(
   const char *strSource,
   char **endptr,
   int base
);
unsigned long long _strtoull_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
unsigned long long wcstoull(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
unsigned long long _wcstoull_l(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parâmetros

strSource
Cadeia de caracteres terminada em nulo a ser convertida.

endptr
Ponteiro para o caractere que interrompe o exame.

base
O número base a ser usado.

locale
Localidade a usar.

Retornar valor

strtoull retornará o valor convertido, se houver ou ULLONG_MAX no estouro. strtoull retorna 0 se nenhuma conversão pode ser realizada. wcstoull retorna valores de maneira semelhante a strtoull. Para ambas as funções, errno será definido como ERANGE se ocorrer um estouro ou estouro negativo.

Para obter mais informações sobre códigos de retorno, confira errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

Cada uma dessas funções converte a cadeia de caracteres de entrada strSource para um valor inteiro unsigned long long.

strtoull interrompe a leitura da cadeia de caracteres strSource no primeiro caractere que ela não puder reconhecer como parte de um número. Pode ser o caractere nulo de terminação ou pode ser o primeiro caractere numérico maior ou igual a base. A configuração da categoria da LC_NUMERIC localidade determina o reconhecimento do caractere radix em strSource; Para obter mais informações, consulte setlocale, _wsetlocale. strtoull e wcstoull usam a localidade atual; _strtoull_l e _wcstoull_l usam a localidade que é informada mas são idênticas, de outra forma. Para obter mais informações, consulte Localidade.

Se endptr não NULLestiver, um ponteiro para o caractere que interrompeu a varredura será armazenado no local apontado por endptr. Se nenhuma conversão puder ser executada (nenhum dígito válido foi encontrado ou uma base inválida foi especificada), o valor strSource será armazenado no local apontado por endptr.

wcstoull é uma versão de caractere largo de strtoull e seu argumento strSource é uma cadeia de caracteres largos. Caso contrário, essas funções se comportam de forma idêntica.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.

Mapeamentos de rotina de texto genérico

Rotina TCHAR.H _UNICODE e _MBCS não definidos _MBCS definido _UNICODE definido
_tcstoull strtoull strtoull wcstoull
_tcstoull_l strtoull_l _strtoull_l _wcstoull_l

strtoull espera que strSource aponte para uma cadeia de caracteres do seguinte formato:

[whitespace] [{+ | -}] [0 [{ x | X }]] [digits | letters]

Um whitespace pode consistir de caracteres de espaço ou tabulação, que são ignorados. digits é um ou mais dígitos decimais. letters são uma ou mais das letras 'a' a 'z' (ou 'A' a 'Z'). O primeiro caractere que não é adequado a esse formato interrompe a verificação. Se base estiver entre 2 e 36, ele será usado como a base do número. Se base for 0, os caracteres iniciais da cadeia de caracteres apontados por strSource serão usados para determinar a base. Se o primeiro caractere for '0' e o segundo caractere não for 'x' nem 'X', a cadeia de caracteres será interpretada como um inteiro octal. Se o primeiro caractere for '0' e o segundo caractere for 'x' ou 'X', a cadeia de caracteres será interpretada como um inteiro hexadecimal. Se o primeiro caractere for de '1' até '9', a cadeia de caracteres será interpretada como um inteiro hexadecimal. As letras 'a' a 'z' (ou 'A' a 'Z') recebem os valores 10 a 35; somente são permitidas letras cujos valores atribuídos são menores que base. O primeiro caractere fora do intervalo da base interrompe o exame. Por exemplo, se base é 0 e o primeiro caractere verificado é '0', é considerado um inteiro octal e um caractere '8' ou '9' interrompe a verificação. strtoull permite um prefixo com sinal de mais (+) ou de menos (-); um sinal de subtração à esquerda indica que o valor retornado é negado.

Requisitos

Rotina Cabeçalho necessário
strtoull <stdlib.h>
wcstoull <stdlib.h> ou <wchar.h>
_strtoull_l <stdlib.h>
_wcstoull_l <stdlib.h> ou <wchar.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Confira o exemplo de strtod.

Confira também

Conversão de dados
Localidade
localeconv
setlocale, _wsetlocale
Cadeia de caracteres para funções de valor numérico
strtod, _strtod_l, wcstod, _wcstod_l
strtol, wcstol, _strtol_l, _wcstol_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
strtoll, _strtoll_l, wcstoll, _wcstoll_l
atof, _atof_l, _wtof, _wtof_l