Condividi tramite


_strtoi64, _wcstoi64, _strtoi64_l, _wcstoi64_l

Converte una stringa in un valore __int64.

__int64 _strtoi64(
   const char *nptr,
   char **endptr,
   int base 
);
__int64 _wcstoi64(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
__int64 _strtoi64_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
__int64 _wcstoi64_l(
   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 arresta la scansione.

  • base
    Base numerica da utilizzare.

  • locale
    Impostazioni locali da utilizzare.

Valore restituito

_strtoi64restituisce il valore rappresentato nella stringa nptr, tranne quando la rappresentazione può provocare un overflow, in quel qual caso restituisce _I64_MAX o _I64_MIN. La funzione dovrà restituire 0 se non può essere eseguita alcuna conversione. _wcstoi64 restituisce i valori analogamente a strtoi64.

_I64_MAX e _I64_MIN sono definiti in LIMITS.H.

Se nptr è NULL o base è diverso da zero e inferiore a 2 o maggiore di 36, errno è impostato su EINVAL.

Vedere _doserrno, errno, _sys_errlist, e _sys_nerr per ulteriori informazioni su questi, e altri, codici restituiti.

Note

La funzione _strtoi64converte nptr in un __int64. Entrambe le funzioni arrestano la lettura della stringa nptr al primo carattere che non riconoscono come parte di un numero. Questo può essere dovuto ad un carattere di terminazione null, oppure al primo carattere numerico maggiore o uguale a base. _wcstoi64 è una versione a caratteri estesi di _strtoi64; l'argomento nptr è una stringa di caratteri estesi. Altrimenti queste funzioni si comportano in modo identico.

Mapping di routine su testo generico

Routine TCHAR.H

_UNICODE & _MBCS non definiti

_MBCS definito

_UNICODE definito

_tcstoi64

_strtoi64

_strtoi64

_wcstoi64

_tcstoi64_l

_strtoi64_l

_strtoi64_l

_wcstoi64_l

L'impostazione di categoria LC_NUMERIC delle impostazioni locali determina il riconoscimento del carattere radice in nptr*;* ; per ulteriori informazioni, vedere setlocale. Le funzioni senza il suffisso _l utilizzano le impostazioni locali correnti; _strtoi64_l e_wcstoi64_l sono identiche alle corrispondenti funzioni senza il suffisso _l con la differenza che utilizzano le impostazioni locali che gli sono state passate. Per ulteriori informazioni, vedere Impostazioni locali.

Se endptr non è NULL, il puntatore al carattere che arresta la scansione viene memorizzato nella locazione di memoria indicata da endptr. Se nessuna conversione può essere eseguita (nessuna cifra valida è stata trovata o è stata specificata una base non valida), il valore di nptr viene archiviato all'indirizzo puntato da endptr.

_strtoi64eccetto nptr punta ad una stringa nel seguente formato:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

Un whitespace può consistere di caratteri di spazio e di tab, che vengono ignorati; digits sono una o più cifre decimali. Il primo carattere non idoneo arresta la scansione. Se base è compreso tra 2 e 36, allora viene utilizzato come base del numero. Se base è 0, i caratteri iniziali della stringa puntata da nptr vengono utilizzati per determinare la base. Se il primo carattere è 0 e il secondo carattere non è 'x' o 'X', la stringa viene interpretata come un 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 è '1' e '9', la stringa viene interpretata come Integer decimale. Alle lettere da 'a' a 'z' (o da 'A' a 'Z') sono assegnati i valori da 10 a 35; solo lettere con valori assegnati minori della base sono permesse. Il primo carattere non compreso nell'intervallo di base arresta la scansione. Ad esempio, se base è 0 e il primo carattere analizzato è '0', si presuppone un numero intero ottale e il carattere '8' o '9' arresterà l'analisi.

Requisiti

Routine

Intestazione obbligatoria

_strtoi64, _strtoi64_l

<stdlib.h>

_wcstoi64, _wcstoi64_l

<stdlib.h> o <wchar.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'Introduzione.

Vedere anche

Riferimenti

Conversione dei dati

Impostazioni locali

localeconv

setlocale, _wsetlocale

Funzioni da stringa a valore numerico

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l