Condividi tramite


strtoumax, _strtoumax_l, wcstoumax_wcstoumax_l

Converte le stringhe in un valore intero con il tipo Integer senza segno supportato più grande.

Sintassi

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

Parametri

strSource
Stringa con terminazione Null da convertire.

endptr
Puntatore al carattere che interrompe la lettura.

base
Base numerica da usare.

locale
Impostazioni locali da usare.

Valore restituito

strtoumax restituisce il valore convertito, se presente, o UINTMAX_MAX in caso di overflow. strtoumax restituisce 0 se è non possibile eseguire alcuna conversione. wcstoumax restituisce i valori in modo analogo a strtoumax. Per entrambe le funzioni, errno viene impostato su ERANGE in caso di overflow o underflow.

Per altre informazioni sui codici restituiti, vedere errno, _doserrno, _sys_errliste _sys_nerr.

Osservazioni:

Ognuna di queste funzioni converte la stringa di input strSource in un valore integer uintmax_t.

strtoumax interrompe la lettura della stringa strSource al primo carattere che non è in grado di riconoscere come parte di un numero. Può trattarsi del carattere Null di terminazione oppure può essere il primo carattere numerico maggiore o uguale a base. L'impostazione della categoria LC_NUMERIC delle impostazioni locali determina il riconoscimento del carattere di base in strSource. Per altre informazioni, vedere setlocalee _wsetlocale. strtoumax e wcstoumax usano le impostazioni locali correnti. _strtoumax_l e _wcstoumax_l sono identiche, ma usano le impostazioni locali passate. Per altre informazioni, vedere Locale.

Se endptr non NULLè , un puntatore al carattere che ha arrestato l'analisi viene archiviato nella posizione a endptrcui punta . Se è non possibile eseguire alcuna conversione (non vengono trovate cifre valide o viene specificata una base non valida), il valore di strSource viene archiviato in corrispondenza della posizione a cui punta endptr.

La versione a caratteri wide di strtoumax è wcstoumax. Il relativo argomento strSource è una stringa di caratteri wide. In caso contrario, il comportamento di queste funzioni è identico.

Mapping di routine di testo generico

Routine TCHAR.H _UNICODE e _MBCS non definito _MBCS definito _UNICODE definito
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumax prevede che strSource punti a una stringa nel formato seguente:

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

Un whitespace oggetto può essere costituito da spazi e caratteri di tabulazione, che vengono ignorati. digits sono una o più cifre decimali. letters sono una o più delle lettere 'a' da 'z' (o 'A' da 'Z'). Il primo carattere che non rientra in questo modulo interrompe l'analisi. Se base è compreso tra 2 e 36, viene usato come base del numero. Se base è 0, per determinare la base vengono usati i caratteri iniziali della stringa a cui punta strSource. Se il primo carattere è '0' e il secondo carattere non è 'x' o 'X', la stringa viene interpretata come un numero intero ottale. Se il primo carattere è '0' e il secondo carattere è 'x' o 'X', la stringa viene interpretata come integer esadecimale. Se il primo carattere è compreso tra '1' e '9', la stringa viene interpretata come integer decimale. Alle lettere da 'a' a 'z' (o da 'A' a 'Z') vengono assegnati i valori da 10 a 35. Sono consentite solo le lettere con valori assegnati minori di base. Il primo carattere non compreso nell'intervallo della base interrompe la lettura. Ad esempio, se base è 0 e il primo carattere letto è '0', si presuppone un intero ottale e il carattere '8' o '9' interromperà la lettura. strtoumaxconsente un prefisso segno più () o segno meno (+-). Un segno meno iniziale indica che il valore restituito è il complemento dei due valori assoluti della stringa convertita.

Requisiti

Ciclo Intestazione obbligatoria
strtoumax, wcstoumax, _strtoumax_l_wcstoumax_l <inttypes.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

Vedere l'esempio per strtod.

Vedi anche

Conversione dati
impostazioni locali
localeconv
setlocale, _wsetlocale
Funzioni string to numeric value (Da stringa a valore numerico)
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