Sdílet prostřednictvím


strtoumax, _strtoumax_l, wcstoumax, _wcstoumax_l

Převede řetězce na celočíselnou hodnotu největšího podporovaného celočíselného typu bez znaménka.

Syntaxe

uintmax_t strtoumax(
   const char *strSource,
   char **endptr,
   int base
);
uintmax_t _strtoumax_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
uintmax_t wcstoumax(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
uintmax_t _wcstoumax_l(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parametry

strSource
Řetězec ukončený hodnotou null, který se má převést.

endptr
Ukazatel na znak, který zastaví kontrolu.

base
Číselný základ, který se má použít.

locale
Národní prostředí, které se má použít.

Vrácená hodnota

strtoumax vrátí převedenou hodnotu, pokud existuje, nebo UINTMAX_MAX při přetečení. strtoumax vrátí hodnotu 0, pokud nelze provést žádný převod. wcstoumax vrátí hodnoty analogicky k strtoumax. U obou funkcí je nastaveno, errno jestli dojde k ERANGE přetečení nebo podtečení.

Další informace o návratových kódech naleznete v tématu errno, _doserrno, _sys_errlista _sys_nerr.

Poznámky

Každá z těchto funkcí převede vstupní řetězec strSource na celočíselnou uintmax_t hodnotu.

strtoumax přestane číst řetězec strSource na prvním znaku, který nedokáže rozpoznat jako součást čísla. Může se jednat o ukončující znak null nebo může být prvním číselným znakem, který je větší nebo roven base. Nastavení LC_NUMERIC kategorie národního prostředí určuje rozpoznávání znaku radix v strSource. Další informace naleznete v tématu setlocale, _wsetlocale. strtoumax a wcstoumax použijte aktuální národní prostředí a _strtoumax_l_wcstoumax_l jsou shodné s tím rozdílem, že místo toho používají národní prostředí, které je předáno. Další informace naleznete v tématu Národní prostředí.

Pokud endptr není NULL, je ukazatel na znak, který zastavil kontrolu, uložen v umístění, na které odkazuje endptr. Pokud nelze provést žádný převod (nebyly nalezeny žádné platné číslice nebo byla zadána neplatná základna), hodnota strSource je uložena v umístění, na které odkazuje endptr.

Verze širokého znaku strtoumax je wcstoumax; její strSource argument je řetězec širokého znaku. Jinak se tyto funkce chovají stejně.

Mapování rutin obecného textu

Rutina TCHAR.H _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumaxstrSource očekává, že odkazuje na řetězec následujícího formuláře:

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

Může whitespace se skládat z mezery a znaků tabulátoru, které jsou ignorovány. digits jsou jedno nebo více desetinných číslic. letters jsou jedno nebo více písmen "a" až 'z' (nebo 'A' až 'Z'). První znak, který se nevejde do tohoto formuláře, zastaví prohledávání. Pokud base je mezi 2 a 36, použije se jako základ čísla. Pokud base je hodnota 0, počáteční znaky řetězce, na který strSource odkazuje, slouží k určení základu. Pokud je první znak 0 a druhý znak není x nebo X, řetězec se interpretuje jako osmičkové celé číslo. Pokud je první znak 0 a druhý znak je x nebo X, řetězec se interpretuje jako šestnáctkové celé číslo. Pokud je první znak 1 až 9, řetězec se interpretuje jako desetinné číslo. Písmena "a" až 'z' (nebo 'A' až 'Z') jsou přiřazena hodnoty 10 až 35; pouze písmena, jejichž přiřazené hodnoty jsou menší, než base jsou povoleny. První znak mimo rozsah základny zastaví kontrolu. Pokud je například base 0 a první znak skenován je 0, předpokládá se osmičkové celé číslo a znak 8 nebo 9 zastaví kontrolu. strtoumax umožňuje předponu znaménka plus (+) nebo mínus (-). Úvodní znaménko minus označuje, že návratová hodnota je doplněk dvou absolutní hodnoty převedeného řetězce.

Požadavky

Rutina Požadovaný hlavičkový soubor
strtoumax, wcstoumax, _strtoumax_l, _wcstoumax_l <inttypes.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

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

Viz také

Převod dat
Národní prostředí
localeconv
setlocale, _wsetlocale
Funkce řetězcových k číselným hodnotám
strtod, _strtod_l, wcstod, _wcstod_l
strtoimax, _strtoimax_l, wcstoimax, _wcstoimax_l
strtol, wcstol, _strtol_l, _wcstol_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
strtoll, _strtoll_l, wcstoll, _wcstoll_l
atof, _atof_l, _wtof, _wtof_l