_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Převést řetězec na nepodepsaný __int64 hodnotu.
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
);
Parametry
nptr
Řetězec zakončený převést.endptr
Ukazatel na znak, který zastaví skenování.base
Číslo základní použití.locale
Použití národního prostředí.
Vrácená hodnota
_strtoui64Vrátí hodnotu zastoupeny v řetězci nptr, s výjimkou při zastupování způsobí přetečení, ve kterém případě ji vrátí _UI64_MAX._strtoui64vrátí 0, pokud lze provést bez převodu.
_UI64_MAXje definován v MEZÍCH.H.
Pokud nptr je NULL nebo base je nenulová a buď méně než 2 nebo vyšší než 36, errno je nastavena na EINVAL.
Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných návratových kódů.
Poznámky
The _strtoui64function converts nptr to an unsigned __int64._wcstoui64je verze celého znaku _strtoui64; jeho nptr je řetězec znaků wide argument.Jinak tyto funkce chovat stejně.
Obě funkce Zastavit čtení řetězec nptr jejich nelze rozpoznat jako součást čísla prvního znaku.To může být ukončujícím znakem null, nebo může být první číselný znak větší než nebo rovno base.
Obecný Text rutinní mapování
TCHAR.Rutina H |
_UNICODE & _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
Aktuální národní prostředí LC_NUMERIC kategorie nastavení určuje rozpoznávání znaku radix nptr; Další informace naleznete v tématu setlocale.Funkce bez přípony _l použít aktuální národní prostředí; _strtoui64_l a_wcstoui64_l jsou stejné jako odpovídající funkce bez _l příponu, s výjimkou, že používají místo předaný národní prostředí.Další informace naleznete v tématu Národní prostředí.
Pokud endptr není NULL, ukazatel na znak, který přestal skenování je uložen v umístění odkazuje endptr.Pokud lze provést bez převodu (nebyly nalezeny žádné platné číslice nebo byl zadán neplatný base) hodnotu nptr je uložen na adrese, na kterou odkazuje endptr.
_strtoui64 očekává nptr pro řetězec následující formulář:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
A whitespace se může skládat z místa a kartu znaky, které jsou ignorovány; digits jsou-li jeden nebo více desetinných míst.První znak, který tento formulář nevejde zastaví skenování.Pokud base je mezi 2 a 36, použita jako základní číslo.Pokud base 0 počátečních znaků odkazuje řetězec nptr jsou použity ke stanovení základu.Pokud je první znak je 0 a druhý znak "x" nebo "X", řetězec interpretován jako osmičkové číslo; jinak je interpretován jako desetinné číslo.Pokud je první znak "0" a druhý znak "x" nebo "X" řetězec interpretována jako hexadecimální číslo.Pokud je první znak ' 1' až ' 9', řetězec je interpretován jako desítkové celé číslo.Písmena "a" až "z" (nebo "A" až "Z") jsou přiřazeny hodnoty 10 až 35; pouze písmena, jejichž přiřazené hodnoty jsou menší než base jsou povoleny.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<stdlib.h> nebo <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<stdlib.h> nebo <wchar.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
// 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 );
}
Viz také
Referenční dokumentace
Řetězec číselné hodnoty funkce
strtod, _strtod_l, wcstod, _wcstod_l