_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Convertire una stringa in un unsigned __int64 valore.
unsigned __int64 _strtoui64(
const char *nptr,
char **endptr,
int base
);
unsigned __int64 _wcstoui64(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
unsigned __int64 _strtoui64_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
unsigned __int64 _wcstoui64(
const wchar_t *nptr,
wchar_t **endptr,
int base,
_locale_t locale
);
Parametri
nptr
Stringa con terminazione null da convertire.endptr
Puntatore al carattere che interrompe la funzionalità.base
Base numerica da utilizzare.locale
impostazioni locali da utilizzare.
Valore restituito
_strtoui64restituisce il valore rappresentato nella stringa nptr, ad eccezione di quando la rappresentazione può provocare un overflow, nel qual caso restituisca _UI64_MAX._strtoui64restituirà 0 se nessuna conversione può essere eseguito.
_UI64_MAX viene definito in LIMITS.H.
se nptr viene NULL o base sono diversi da zero e meno di 2 o maggiore di 36, errno è impostato su EINVAL.
vedere _doserrno, errno, _sys_errlist e _sys_nerr per ulteriori informazioni su questi e su altri, codici restituiti.
Note
_strtoui64conversione di funzione nptr in unsigned __int64._wcstoui64 è una versione a caratteri estesi di _strtoui64; relativo nptr l'argomento è una stringa di caratteri estesi.In caso contrario queste funzioni si comportano in modo identico.
interruzione di entrambe le funzioni che legge la stringa nptr al primo carattere non sono in grado di riconoscere come parte di un numero.Ciò può rappresentare il carattere di terminazione null, oppure può essere il primo carattere numerico maggiore o uguale a base.
Mapping di routine a testo generico
routine di TCHAR.H |
_UNICODE & _MBCS non definiti |
_MBCS definito |
_UNICODE definito |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
le impostazioni locali correnti LC_NUMERICl'impostazione di categoria determina il riconoscimento di carattere di base in nptr; per ulteriori informazioni, vedere setlocale.Le funzioni senza il suffisso del _l utilizzano le impostazioni locali correnti, _strtoui64_le_wcstoui64_lsono identiche alle corrispondenti funzioni senza _l suffiggere con la differenza che utilizzano le impostazioni locali passate in alternativa.Per ulteriori informazioni, vedere Impostazioni locali.
se endptr non viene NULL, un puntatore al carattere che viene chiusa la funzionalità viene archiviato nella posizione indicata da endptr.Se nessuna conversione può essere eseguita (nessuna cifra valida è stata trovata o una base non valida è stata specificata), il valore di nptr viene archiviato nella posizione indicata da endptr.
_strtoui64prevede nptr per indicare una stringa di formato seguente:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
In whitespacepuò essere costituito dallo spazio e di caratteri di tabulazione, che vengono ignorati; digitssono uno o più cifre decimali.Il primo carattere che non supporta le interruzioni del form la funzionalità.se base è compreso tra 2 e 36, pertanto viene utilizzata come base del numero.se base è 0, i caratteri iniziali della stringa indicata da nptr viene utilizzato per determinare la base.Se il primo carattere è 0 e il secondo carattere non è “x„ o “X„, la stringa viene interpretata come Integer ottale; in caso contrario, viene interpretata come numero decimale.Se il primo carattere è “0 " e il secondo carattere è “x„ o “X„, la stringa viene interpretata come Integer esadecimale.Se il primo carattere è “1 " e “9 ", la stringa viene interpretata come Integer decimale.Le lettere “a„ e “z„ (o “A„ e “Z ") sono assegnati i valori da 10 a 35; solo lettere dei cui valori assegnati inferiori a base essere valido.
Requisiti
routine |
Intestazione di associazione |
---|---|
_strtoui64 |
<definito> |
_wcstoui64 |
<definito> o <wchar.h> |
_strtoui64_l |
<definito> |
_wcstoui64_l |
<definito> o <wchar.h> |
per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.
Esempio
// crt_strtoui64.c
#include <stdio.h>
unsigned __int64 atoui64(const char *szUnsignedInt) {
return _strtoui64(szUnsignedInt, NULL, 10);
}
int main() {
unsigned __int64 u = atoui64("18446744073709551615");
printf( "u = %I64u\n", u );
}
Vedere anche
Riferimenti
Stringa alle funzioni di valore numerico
strtod, _strtod_l, wcstod, _wcstod_l