Dela via


strtoumax, _strtoumax_l, , wcstoumax_wcstoumax_l

Konverterar strängar till ett heltalsvärde av den största osignerade heltalstypen som stöds.

Syntax

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
);

Parameterar

strSource
Null-avslutad sträng som ska konverteras.

endptr
Pekare mot det tecken som stoppar genomsökningen.

base
Nummerbas som ska användas.

locale
Nationella inställningar som ska användas.

Returvärde

strtoumax returnerar det konverterade värdet, om det finns något, eller UINTMAX_MAX på spill. strtoumax returnerar 0 om ingen konvertering kan utföras. wcstoumax returnerar värden analogt till strtoumax. För båda funktionerna errno anges till ERANGE om spill eller underflöde inträffar.

Mer information om returkoder finns i errno, _doserrno, _sys_errlistoch _sys_nerr.

Anmärkningar

Var och en av dessa funktioner konverterar indatasträngen strSource till ett uintmax_t heltalsvärde.

strtoumax slutar läsa strängen strSource vid det första tecknet som den inte kan identifiera som en del av ett tal. Det kan vara det avslutande nulltecknet, eller det kan vara det första numeriska tecknet som är större än eller lika med base. Kategoriinställningen LC_NUMERIC för språkvarianten avgör igenkänningen av radixtecknet i strSource. Mer information finns i setlocale, _wsetlocale. strtoumax och wcstoumax använd det aktuella språket och _strtoumax_l_wcstoumax_l är identiska förutom att de i stället använder språkvarianten som skickas in. Mer information finns i Nationella inställningar.

Om endptr inte NULLlagras en pekare till tecknet som stoppade genomsökningen på den plats som pekas på av endptr. Om ingen konvertering kan utföras (inga giltiga siffror hittades eller en ogiltig bas angavs) lagras värdet strSource för på den plats som pekas på av endptr.

Wide-character-versionen av strtoumax är wcstoumax; dess strSource argument är en sträng med många tecken. I annat fall fungerar dessa funktioner på samma sätt.

Allmän textrutinmappning

TCHAR. H-rutin _UNICODE och _MBCS inte definierad _MBCS definierad _UNICODE definierad
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumax förväntar sig strSource att peka på en sträng i följande formulär:

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

A whitespace kan bestå av blanksteg och tabbtecken som ignoreras. digits är en eller flera decimalsiffror. letters är en eller flera av bokstäverna "a" genom "z" (eller "A" genom "Z"). Det första tecknet som inte passar det här formuläret stoppar genomsökningen. Om base är mellan 2 och 36 används det som bas för talet. Om base är 0 används de första tecknen i strängen som pekas på av strSource för att fastställa basen. Om det första tecknet är "0" och det andra tecknet inte är "x" eller "X", tolkas strängen som ett oktalt heltal. Om det första tecknet är "0" och det andra tecknet är "x" eller "X", tolkas strängen som ett hexadecimalt heltal. Om det första tecknet är "1" till och med "9" tolkas strängen som ett decimaltal. Bokstäverna "a" till "z" (eller "A" genom "Z") tilldelas värdena 10 till och med 35; endast bokstäver vars tilldelade värden är mindre än base tillåtna. Det första tecknet utanför basintervallet stoppar genomsökningen. Om till exempel base är 0 och det första tecknet som genomsöks är "0" antas ett oktalt heltal och ett "8" eller "9"-tecken skulle stoppa genomsökningen. strtoumax tillåter ett plustecken (+) eller minustecken (-) prefix. Ett inledande minustecken anger att returvärdet är de tvås komplement till det absoluta värdet för den konverterade strängen.

Kravspecifikation

Rutin Obligatoriskt huvud
strtoumax, wcstoumax, , _strtoumax_l_wcstoumax_l <inttypes.h>

Mer kompatibilitetsinformation finns i Kompatibilitet.

Example

Se exemplet för strtod.

Se även

Datakonvertering
Locale
localeconv
setlocale, _wsetlocale
Funktioner för sträng till numeriskt värde
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