_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Converter uma seqüência de caracteres 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
);
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
Localidade usar.
_strtoui64retorna o valor representado no seqüência de caracteres nptr, exceto quando a representação poderia causar um estouro de capacidade, que nesse caso retorna _UI64_MAX. _strtoui64 retornará 0 se nenhuma conversão pode ser executada.
_UI64_MAX é definido em LIMITS.H.
If nptr é NULL ou o base é diferente de zero e o menor 2 ou maior do que 36, errno é definido como EINVAL.
See _doserrno, errno, _sys_errlist e _sys_nerr para obter mais informações sobre esses e outros códigos retorno.
The _strtoui64function converts nptr to an unsigned __int64._wcstoui64 é uma versão de caractere largo da _strtoui64; sua nptr argumento é uma seqüência de caracteres largos. Caso contrário, essas funções tenham comportamento idêntico.
sistema autônomo duas funções parar de ler a seqüência de caracteres nptr no primeiro caractere não reconhece sistema autônomo 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érica
Rotina TCHAR.H |
_UNICODE & _MBCS não definido |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
LC_NUMERIC categoria determina o reconhecimento do caractere fracionário nptr; Para obter mais informações, consulte setlocale.The functions without the _l suffix use the current locale; _strtoui64_l and_wcstoui64_l are identical to the corresponding functions without the _l suffix except that they use the locale passed in instead.For more information, see Localidade.
If 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 executada (nenhum dígito válido foi encontrado ou uma base inválido foi especificada), o valor de nptr é armazenado na posição apontada por endptr.
_strtoui64 espera nptr para apontar para uma seqüência de caracteres de forma a seguir:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
A whitespace pode consistir em caracteres de espaço e guia, que são ignorados digits são um ou mais dígitos Decimal. O primeiro caractere que não cabe neste formulário interrompe a varredura.If base está entre 2 e 36, em seguida, é usada sistema autônomo a base do número. If 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 será interpretada sistema autônomo um inteiro octal; caso contrário, ele é interpretado sistema autônomo um número decimal.Se o primeiro caractere é '0' e o segundo caractere será 'x' ou 'X', a seqüência de caracteres é interpretada sistema autônomo um inteiro hexadecimal.Se o primeiro caractere é ' 1 ' através de ' 9 ', a seqüência de caracteres será interpretada sistema autônomo 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 têm menos de base são permitidos.
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 compatibilidade, consulte Compatibilidade na introdução.
// 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 );
}
u = 18446744073709551615
Seqüência de caracteres para funções de valor numérico
strtod, _strtod_l, wcstod, _wcstod_l