Sdílet prostřednictvím


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

System::convert::ToInt64

Viz také

Referenční dokumentace

Převod dat

Národní prostředí

localeconv

setlocale _wsetlocale

Řetězec číselné hodnoty funkce

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l