_strtoi64
, _wcstoi64
, _strtoi64_l
_wcstoi64_l
Converte una stringa in un valore __int64
.
Sintassi
__int64 _strtoi64(
const char *strSource,
char **endptr,
int base
);
__int64 _wcstoi64(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
__int64 _strtoi64_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
__int64 _wcstoi64_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
_strtoi64
restituisce il valore rappresentato nella stringa strSource
, tranne quando la rappresentazione potrebbe causare un overflow, nel qual caso restituisce _I64_MAX
o _I64_MIN
. La funzione restituirà 0 se è non possibile eseguire alcuna conversione. _wcstoi64
restituisce i valori in modo analogo a _strtoi64
.
_I64_MAX
e _I64_MIN
sono definiti in LIMITS.H.
Se strSource
è NULL
o base
è diverso da zero e minore di 2 o maggiore di 36, errno
viene impostato su EINVAL
.
Per altre informazioni sui codici restituiti, vedere errno
, _doserrno
, _sys_errlist
e _sys_nerr
.
Osservazioni:
La funzione _strtoi64
converte strSource
in un valore __int64
. Entrambe le funzioni interrompono la lettura della stringa strSource
al primo carattere che non possono 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
. _wcstoi64
è una versione a caratteri wide di _strtoi64
. L'argomento strSource
è una stringa di caratteri wide. A parte ciò, queste funzioni si comportano in modo identico.
Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificarlo, vedere Stato globale in CRT.
Mapping di routine di testo generico
TCHAR.H routine |
_UNICODE e _MBCS non definito |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcstoi64 |
_strtoi64 |
_strtoi64 |
_wcstoi64 |
_tcstoi64_l |
_strtoi64_l |
_strtoi64_l |
_wcstoi64_l |
L'impostazione della categoria delle LC_NUMERIC
impostazioni locali determina il riconoscimento del carattere radix in strSource
. Per altre informazioni, vedere setlocale
. Le funzioni senza il _l
suffisso usano le impostazioni locali _strtoi64_l
correnti e _wcstoi64_l
sono identiche alla funzione corrispondente senza il _l
suffisso, ad eccezione del fatto che 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
.
_strtoi64
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 analizzato è '0', si presuppone un Integer ottale e il carattere '8' o '9' arresterà l'analisi.
Requisiti
Funzione | Intestazione obbligatoria |
---|---|
_strtoi64 , _strtoi64_l |
<stdlib.h> |
_wcstoi64 , _wcstoi64_l |
<stdlib.h> oppure <wchar.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
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
strtoul
, _strtoul_l
, wcstoul
_wcstoul_l
atof
, _atof_l
, _wtof
_wtof_l