strtoul
, _strtoul_l
, wcstoul
_wcstoul_l
Converte le stringhe in un valore long integer senza segno.
Sintassi
unsigned long strtoul(
const char *strSource,
char **endptr,
int base
);
unsigned long _strtoul_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
unsigned long wcstoul(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
unsigned long _wcstoul_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
strtoul
restituisce il valore convertito, se presente, o ULONG_MAX
in caso di overflow. strtoul
restituisce 0 se è non possibile eseguire alcuna conversione. wcstoul
restituisce i valori in modo analogo a strtoul
. 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_errlist
e _sys_nerr
.
Osservazioni:
Ognuna di queste funzioni converte la stringa di input strSource
in un valore unsigned long
.
strtoul
interrompe la lettura della stringa strSource
al primo carattere che non è in grado di riconoscere come parte di un numero. Questo carattere può essere il carattere di terminazione NULL
oppure può essere il primo carattere numerico maggiore o uguale a base
. L'impostazione LC_NUMERIC
della categoria delle impostazioni locali determina il riconoscimento del carattere radix in strSource
. Per altre informazioni, vedere setlocale
. strtoul
e wcstoul
usano le impostazioni locali correnti. _strtoul_l
e _wcstoul_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 endptr
cui 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
.
wcstoul
è una versione a caratteri wide di strtoul
. L'argomento strSource
è una stringa di caratteri wide. In caso contrario, il comportamento di queste funzioni è identico.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.
Mapping di routine di testo generico
TCHAR.H routine |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcstoul |
strtoul |
strtoul |
wcstoul |
_tcstoul_l |
strtoul_l |
_strtoul_l |
_wcstoul_l |
strtoul
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ù lettere a
da z
(o A
a 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 intero ottale. Se il primo carattere è '0' e il secondo carattere è x
o X
, la stringa viene interpretata come intero esadecimale. Se il primo carattere è compreso tra '1' e '9', la stringa viene interpretata come integer decimale. Alle lettere a
da z
(o A
a Z
) vengono assegnati i valori da 10 a 35; solo lettere i cui valori assegnati sono minori di base
quelli consentiti. Il primo carattere non compreso nell'intervallo della base interrompe la lettura. Ad esempio, se base
è 0 e il primo carattere analizzato è '0', si presuppone un Integer ottale e il carattere '8' o '9' arresterà l'analisi. strtoul
consente un prefisso con un segno più (+
) o meno (-
). Un segno meno iniziale indica che il valore restituito è negativo.
Requisiti
Ciclo | Intestazione obbligatoria |
---|---|
strtoul |
<stdlib.h> |
wcstoul |
<stdlib.h> oppure <wchar.h> |
_strtoul_l |
<stdlib.h> |
_wcstoul_l |
<stdlib.h> oppure <wchar.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
strtol
, wcstol
, _strtol_l
_wcstol_l
atof
, _atof_l
, _wtof
_wtof_l