Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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