strtol, wcstol, _strtol_l, _wcstol_l
Převod řetězce na hodnotu Dlouhé celé.
long strtol(
const char *nptr,
char **endptr,
int base
);
long wcstol(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
long _strtol_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
long _wcstol_l(
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
strtolVrá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í LONG_MAX nebo LONG_MIN.strtolpřevod lze provést, vrátí hodnotu 0.wcstolVrátí hodnoty postupuje analogicky k strtol.Pro obě funkce errno je nastavena na ERANGE Pokud dojde k přetečení nebo podtečení.
Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných návratové kódy.
Poznámky
The strtol function converts nptr to a long.strtolukončí čtení řetězce nptr 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.
wcstolje verze celého znaku strtol; jeho nptr je řetězec znaků wide argument.Tyto funkce chovat stejně jinak.
Obecný Text rutinní mapování
TCHAR.Rutina H |
_UNICODE & _MBCS není definován |
_MBCS, definice |
_UNICODE, definice |
---|---|---|---|
_tcstol |
strtol |
strtol |
wcstol |
_tcstol_l |
_strtol_l |
_strtol_l |
_wcstol_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 _l příponu použít aktuální národní prostředí; _strtol_la _wcstol_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.
strtol 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; digitsjsou-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í |
---|---|
strtol |
<stdlib.h> |
wcstol |
<stdlib.h> nebo <wchar.h> |
_strtol_l |
<stdlib.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
Viz příklad pro strtod.
Ekvivalent v rozhraní .NET Framework
Viz také
Referenční dokumentace
Řetězec číselné hodnoty funkce
strtod, _strtod_l, wcstod, _wcstod_l