Doporučujeme používat Visual Studio 2017.

strtol, wcstol, _strtol_l, _wcstol_l

 

Nejnovější dokumentaci k sadě Visual Studio 2017 najdete tady.

Převede řetězce na hodnotu typu long integer.

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ý hodnotou Null pro převod.

endptr
Ukazatel na znak, který zastaví kontroly.

base
Číslo základní použití.

locale
Národní prostředí použít.

Funkce strtol vrátí hodnotu představovanou řetězcem nptr s výjimkou případů, kdy by reprezentace způsobila přetečení. V takovém případě vrátí hodnotu LONG_MAX nebo LONG_MIN. strtolVrátí hodnotu 0, pokud žádný převod lze provést. wcstolVrátí hodnoty analogicky na strtol. Pro obě funkce errno je nastavena na ERANGE dojde k přetečení nebo podtečení.

Viz _doserrno, errno, _sys_errlist a _sys_nerr Další informace o těchto a dalších návratové kódy.

strtol Funkce převede nptr k long. strtolukončí čtení řetězce nptr u prvního znaku nemůže rozpoznat jako část čísla. To může být ukončující znak null, nebo může být první číselný znak větší než nebo rovna hodnotě base.

wcstolje verzí širokého znaku strtol; jeho nptr je argumentem řetězce širokého znaku. Tyto funkce se jinak chovají stejně.

Mapování rutin obecného textu

Rutina TCHAR.H_UNICODE & _MBCS nejsou definovány_MBCS definováno_UNICODE definováno
_tcstolstrtolstrtolwcstol
_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 v nptr ; Další informace naleznete v tématu setlocale. Funkce bez přípony _l používají aktuální národní prostředí. Funkce _strtol_l a _wcstol_l jsou stejné jako odpovídající funkce bez přípony _l s tím rozdílem, že místo toho používají předané národní prostředí. Další informace naleznete v tématu národního prostředí.

Pokud endptr není NULL, ukazatel na znak, který se zastavil vyhledávání je uložena v umístění, na kterou odkazuje endptr. Pokud žádný převod lze provést (nebyly nalezeny žádné platné číslice nebo byla zadána neplatná základní), hodnota nptr je uložena v umístění, na kterou odkazuje endptr.

strtoločekává nptr tak, aby odkazoval na řetězec v následujícím formátu:

[whitespace] [{+ | }] [0 [{ x | X }]] [digits]

A whitespace může sestávat z místa a karta znaky, které jsou ignorovány; digits jsou jeden nebo více desítkových číslic. První znak, který se nevejde tento formulář je prohledávání zastaveno. Pokud base je mezi 2 a 36, použita jako základ čísla. Pokud base je 0, počáteční znaky řetězce, na kterou odkazuje nptr slouží k určení základní. Pokud je první znak 0 a druhý znak není "x" nebo "X", řetězec je interpretován jako osmičkové celé číslo. Pokud je první znak '0' a je druhý znak "x" nebo "X", řetězec je interpretován jako šestnáctkové čí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. První znak mimo rozsah základní zastaví vyhledávání. Například pokud base je 0 a první znak kontrolován je '0', osmičkové celé číslo se předpokládá, a znak "8" nebo "9" zastaví vyhledávání.

RutinaPožadovaný hlavičkový soubor
strtol<stdlib.h></stdlib.h>
wcstol<stdlib.h>nebo<wchar.h></wchar.h></stdlib.h>
_strtol_l<stdlib.h></stdlib.h>

Další informace o kompatibilitě, naleznete v části kompatibility v úvodu.

Podívejte se na příklad pro strtod –.

System::Convert::ToInt64

Převod dat
Národní prostředí
localeconv
setlocale _wsetlocale
Funkce řetězců na číselné hodnoty
strtod –, _strtod_l –, wcstod –, _wcstod_l –
strtoul –, _strtoul_l –, wcstoul –, _wcstoul_l –
atof, _atof_l –, _wtof –, _wtof_l –

Zobrazit: