Partilhar via


strtoumax, _strtoumax_l, wcstoumax, _wcstoumax_l

Converte cadeias de caracteres em um valor inteiro do maior tipo de inteiro não assinado suportado.

Sintaxe

uintmax_t strtoumax(
   const char *strSource,
   char **endptr,
   int base
);
uintmax_t _strtoumax_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
uintmax_t wcstoumax(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
uintmax_t _wcstoumax_l(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parâmetros

strSource
Cadeia de caracteres terminada em nulo para converter.

endptr
Ponteiro para o caractere que interrompe a verificação.

base
Base numérica a utilizar.

locale
Localidade a ser usada.

Valor de retorno

strtoumax retorna o valor convertido, se houver, ou UINTMAX_MAX em estouro. strtoumax retorna 0 se nenhuma conversão puder ser executada. wcstoumax Devolve valores de forma análoga a strtoumax. Para ambas as funções, errno é definido como ERANGE se ocorrer estouro ou subfluxo.

Para obter mais informações sobre códigos de retorno, consulte errno, _doserrno, _sys_errliste _sys_nerr.

Observações

Cada uma dessas funções converte a cadeia de caracteres strSource de entrada em um uintmax_t valor inteiro.

strtoumax para de ler a cadeia de caracteres strSource no primeiro caractere que não consegue 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 LC_NUMERIC configuração de categoria da localidade determina o reconhecimento do caractere radix em strSource. Para obter mais informações, consulte setlocale, _wsetlocale. strtoumaxe wcstoumax usar a localidade atual; e _wcstoumax_l são idênticos, _strtoumax_l exceto que, em vez disso, usam a localidade que é passada. Para obter mais informações, consulte Localidade.

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

A versão de caracteres largos de é wcstoumax; seu strSource argumento é uma cadeia de strtoumax caracteres largos. Caso contrário, essas funções se comportam de forma idêntica.

Mapeamentos de rotina de texto genérico

TCHAR. Rotina H _UNICODE e _MBCS não definido _MBCS definido _UNICODE definido
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumax strSource espera apontar para uma cadeia de caracteres do seguinte formulário:

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

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. letters são uma ou mais das letras «a» a «z» (ou «A» a «Z»). O primeiro caractere que não se encaixa nesse formulário interrompe a verificação. Se base estiver entre 2 e 36, então é usado como base do número. Se base for 0, os caracteres iniciais da cadeia de caracteres apontada por strSource são usados para determinar a base. Se o primeiro caractere for '0' e o segundo caractere não for 'x' ou '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 '1' a '9', a cadeia de caracteres é interpretada como um inteiro decimal. Às letras «a» a «z» (ou «A» a «Z») são atribuídos os valores de 10 a 35; apenas letras cujos valores atribuídos sejam inferiores aos base permitidos. O primeiro caractere fora do intervalo da base para a verificação. Por exemplo, se base for 0 e o primeiro caractere digitalizado for '0', um inteiro octal é assumido e um caractere '8' ou '9' interromperia a varredura. strtoumax permite um prefixo de sinal de mais (+) ou sinal de menos (-), um sinal de menos à esquerda indica que o valor de retorno é o complemento dos dois do valor absoluto da cadeia de caracteres convertida.

Requerimentos

Rotina Cabeçalho obrigatório
strtoumax, wcstoumax, _strtoumax_l, _wcstoumax_l <inttypes.h>

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

Example

Veja o exemplo para strtod.

Consulte também

Conversão de dados
Locale
localeconv
setlocale, _wsetlocale
Funções de cadeia de caracteres para valores numéricos
strtod, _strtod_l, wcstod, _wcstod_l
strtoimax, _strtoimax_l, wcstoimax, _wcstoimax_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