_strtoi64, _wcstoi64, _strtoi64_l, _wcstoi64_l
Converte uma cadeia de caracteres em um valor __int64.
__int64 _strtoi64(
const char *nptr,
char **endptr,
int base
);
__int64 _wcstoi64(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
__int64 _strtoi64_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
__int64 _wcstoi64_l(
const wchar_t *nptr,
wchar_t **endptr,
int base,
_locale_t locale
);
Parâmetros
nptr
Cadeia de caracteres nula a ser convertida.endptr
Ponteiro para o caractere que para o exame.base
Número base a ser usado.locale
A localidade a ser usada.
Valor de retorno
_strtoi64retorna o valor representado na cadeia de caracteres nptr, exceto quando a representação resultaria em estouro, nesse caso, retornaria _I64_MAX ou _I64_MIN. A função retornará 0, se nenhuma conversão puder ser executada. Valores de retornos do _wcstoi64 análogos a strtoi64.
_I64_MAX e _I64_MIN são definidos em LIMITS.H.
Se nptr for NULL ou base for diferente de zero e menor que 2 ou maior que 36, errno será definido como EINVAL.
Para obter mais informações sobre esses e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist, and _sys_nerr.
Comentários
A função _strtoi64converte nptr para um __int64. Ambas as funções deixam de ler a cadeia de caracteres nptr no primeiro caractere que não reconhecem como parte de um número. Pode ser o caractere nulo de terminação,ou o primeiro caractere numérico maior ou igual a base. _wcstoi64 é uma versão de caractere amplo de _strtoi64; seu argumento nptr é uma cadeira de caractere longo. Essas funções se comportam exatamente o contrário.
Mapeamentos da rotina de texto genérico
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcstoi64 |
_strtoi64 |
_strtoi64 |
_wcstoi64 |
_tcstoi64_l |
_strtoi64_l |
_strtoi64_l |
_wcstoi64_l |
A configuração de categoria LC_NUMERIC de local determina o reconhecimento do caractere raiz em nptr*;* para obter mais informações, consulte setlocale. As funções sem o sufixo _l usam a localidade atual; _strtoi64_l e_wcstoi64_l são idênticas à função correspondente sem o sufixo _l, exceto que elas usam a localidade informada no lugar. Para obter mais informações, consulte Localidade.
Se endptr não for NULL, um ponteiro para o caractere que interrompeu a verificação é 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 de nptr será armazenado no local apontado por endptr.
_strtoi64espera nptr apontar para uma cadeia de caracteres da seguinte forma:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
Um whitespace pode conter os caracteres de espaço e de tabulação, que são ignorados; digits são um ou mais dígitos decimais. O primeiro caractere que não se ajusta a este formulário interrompe o exame. Se base estiver entre 2 e 36, então será usado como a base do número. Se base é 0, os caracteres iniciais da cadeia de caracteres apontada por nptr são usados para determinar a base. Se o primeiro caractere for 0 e o segundo 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 será interpretada como um número decimal. As letras ”a" a “z” (ou “A” a “Z ") são atribuídas aos valores de 10 a 35; somente letras cujos valores atribuídos são menores que base são permitidas. O primeiro caractere fora do intervalo de base para o exame. Por exemplo, se base for 0 e o primeiro caractere verificado for "0", um número inteiro octal será assumido e um caractere "8" ou "9" interromperá a verificação.
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
_strtoi64, _strtoi64_l |
<stdlib.h> |
_wcstoi64, _wcstoi64_l |
<stdlib.h> ou <wchar.h> |
Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.
Consulte também
Referência
Funções de valor da cadeia de caracteres para numérico
strtod, _strtod_l, wcstod, _wcstod_l