Sdílet prostřednictvím


strtoul, _strtoul_l, wcstoul, _wcstoul_l

Převod řetězce na unsigned long celočíselnou hodnotu.

unsigned long strtoul(
   const char *nptr,
   char **endptr,
   int base 
);
unsigned long _strtoul_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
unsigned long wcstoul(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
unsigned long _wcstoul_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parametry

  • nptr
    Řetězec zakončený null pro převod.

  • endptr
    Ukazatel na znak, který zastaví skenování.

  • base
    Základna čísla pro použití.

  • locale
    Použité národní prostředí.

Vrácená hodnota

strtoul vrátí převedenou hodnotu, je-li k dispozici, nebo ULONG_MAX při přetečení.strtoul vrátí hodnotu 0, pokud převod lze provést.wcstoul vrátí hodnoty analogicky k strtoul.Pro obě funkce je errno nastavena na ERANGE v případě, že dojde k přetečení nebo podtečení.

Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o této a dalších návratových kódů.

Poznámky

Každá z těchto funkcí převede vstupní řetězec nptr k unsignedlong. 

strtoul zastaví čtení řetězce nptr u prvního znaku, který nebude rozpoznán jako část čísla.Může to být ukončující znak null nebo první číselný znak, který je větší než nebo se rovná base.LC_NUMERIC Kategorie nastavení národního prostředí určuje rozpoznávání znaků radix v nptr; Další informace naleznete v tématu setlocale.strtoula wcstoul použít aktuální národní prostředí; _strtoul_la _wcstoul_l jsou shodné s tím rozdílem, že používají místo něho předán národní prostředí.Další informace naleznete v tématu Národní prostředí.

Pokud endptr není NULL, ukazatel znaku, který zastavil skenování, je uložen v umístění, na které ukazuje endptr.Pokud žádné převody nemohou být provedeny (nebyly nalezeny žádné platné číslice nebo byla zadána neplatná základna), hodnota nptr je uložena na adrese, na kterou odkazuje endptr.

wcstoul je širokoznaká verze strtoul; její parametr nptr je širokoznaký řetězec.Jinak se tyto funkce chovají identicky.

Rutinní mapování obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definováno

_MBCS definováno

_UNICODE definováno

_tcstoul

strtoul

strtoul

wcstoul

_tcstoul_l

strtoul_l

_strtoul_l

_wcstoul_l

strtoul očekává, že nptr ukáže na řetězec v následujícím formátu:

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

whitespace se může skládat ze znaků mezery a tabulátoru, které jsou ignorovány; digits jsou jedna nebo více desítkových číslic.První znak, který neodpovídá tomuto formuláři, zastaví prohledávání.Pokud base je mezi 2 a 36, je použit jako základ pro číslo.Pokud je hodnota base „0“, počáteční znaky řetězce odkazované z parametru nptr slouží ke stanovení základu.Pokud je první znak 0 a druhý znak není x nebo X, řetězec je interpretován jako osmičkové číslo.Pokud je první znak 0 a druhý znak je x nebo X, řetězec je interpretován jako hexadecimální celé číslo.Pokud je první znak "1" až "9", řetězec je interpretován jako desítkové celé číslo.Písmenům "a" až "z" (nebo "A" až "Z") jsou přiřazeny hodnoty 10 až 35; jsou povolena pouze písmena, jejichž přiřazené hodnoty jsou nižší než base.První znak mimo rozsah základny zastaví skenování.Například pokud má base hodnotu 0 a první naskenovaný znak je „0“, předpokládá se osmičkové celé číslo a znaky „8“ nebo „9“ zastaví skenování.strtoulUmožňuje plus (+) nebo minus (–) znak předpony; úvodní znaménko minus označuje, zda je vrácená hodnota Negované.

Požadavky

Rutina

Požadované záhlaví

strtoul

<stdlib.h>

wcstoul

<stdlib.h> nebo <wchar.h>

_strtoul_l

<stdlib.h>

_wcstoul_l

<stdlib.h> nebo <wchar.h>

Další informace o kompatibilitě naleznete v úvodu tématu Kompatibilita.

Příklad

Možnost strtod naleznete v příkladu.

Ekvivalent v rozhraní .NET Framework

System::Convert::ToUInt64

Viz také

Referenční dokumentace

Převod dat

Národní prostředí

localeconv

setlocale, _wsetlocale

Funkce řetězců na numerické hodnoty

strtod, _strtod_l, wcstod, _wcstod_l

strtol, wcstol, _strtol_l, _wcstol_l

atof, _atof_l, _wtof, _wtof_l