_atoi64, _atoi64_l, _wtoi64, _wtoi64_l_atoi64, _atoi64_l, _wtoi64, _wtoi64_l

Converte una stringa in un Integer a 64 bit.Converts a string to a 64-bit integer.

SintassiSyntax

__int64 _atoi64(
   const char *str
);
__int64 _wtoi64(
   const wchar_t *str
);
__int64 _atoi64_l(
   const char *str,
   _locale_t locale
);
__int64 _wtoi64_l(
   const wchar_t *str,
   _locale_t locale
);

ParametriParameters

strstr
Stringa da convertire.String to be converted.

localelocale
Impostazioni locali da usare.Locale to use.

Valore restituitoReturn Value

Ogni funzione restituisce il __int64 valore prodotto interpretando i caratteri di input sotto forma di numero.Each function returns the __int64 value produced by interpreting the input characters as a number. Il valore restituito è 0 per _atoi64 se l'input non può essere convertito in un valore di quel tipo.The return value is 0 for _atoi64 if the input cannot be converted to a value of that type.

In caso di overflow con valori integrali positivi grandi, _atoi64 restituisce I64_MAX e I64_MIN in caso di overflow con i valori integrali negativi grandi.In the case of overflow with large positive integral values, _atoi64 returns I64_MAX and I64_MIN in the case of overflow with large negative integral values.

In tutti i casi, out-of-range errno è impostata su ERANGE.In all out-of-range cases, errno is set to ERANGE. Se il parametro passato è NULL, viene richiamato il gestore di parametri non validi, come descritto in convalida dei parametri.If the parameter passed in is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. Se l'esecuzione può continuare, queste funzioni impostano errno alla EINVAL e restituiscono 0.If execution is allowed to continue, these functions set errno to EINVAL and return 0.

NoteRemarks

Queste funzioni convertono una stringa di caratteri in un Integer a 64 bit.These functions convert a character string to a 64-bit integer value.

La stringa di input è una sequenza di caratteri che può essere interpretata come valore numerico del tipo specificato.The input string is a sequence of characters that can be interpreted as a numerical value of the specified type. La funzione interrompe la lettura della stringa di input in corrispondenza del primo carattere che non riconosce come parte di un numero.The function stops reading the input string at the first character that it cannot recognize as part of a number. Questo carattere potrebbe essere il carattere null ('\0' or L'\0') che termina la stringa.This character might be the null character ('\0' or L'\0') terminating the string.

Il str argomento _atoi64 ha il formato seguente:The str argument to _atoi64 has the following form:

[whitespace] [sign] [cifre][whitespace] [sign] [digits]

Un whitespace è costituito da caratteri spazio o tabulazione, ovvero vengono ignorati; sign è un segno più (+) o meno (-); e cifre sono uno o più cifre.A whitespace consists of space or tab characters, which are ignored; sign is either plus (+) or minus (-); and digits are one or more digits.

_wtoi64 è identica a _atoi64 con la differenza che accetta una stringa di caratteri "wide" come parametro._wtoi64 is identical to _atoi64 except that it takes a wide character string as a parameter.

Le versioni di queste funzioni con il l suffisso sono identiche ad eccezione del fatto che usano il parametro delle impostazioni locali passato anziché le impostazioni locali correnti.The versions of these functions with the _l suffix are identical except that they use the locale parameter passed in instead of the current locale. Per altre informazioni, vedere Locale.For more information, see Locale.

Mapping di routine di testo genericoGeneric-Text Routine Mappings

Routine Tchar.hTchar.h routine _UNICODE e _MBCS non definiti_UNICODE and _MBCS not defined _MBCS definito_MBCS defined _UNICODE definito_UNICODE defined
_tstoi64_tstoi64 _atoi64_atoi64 _atoi64_atoi64 _wtoi64_wtoi64
_ttoi64_ttoi64 _atoi64_atoi64 _atoi64_atoi64 _wtoi64_wtoi64

RequisitiRequirements

RoutineRoutines Intestazione obbligatoriaRequired header
_atoi64, _atoi64_l_atoi64, _atoi64_l <stdlib.h><stdlib.h>
_wtoi64, _wtoi64_l_wtoi64, _wtoi64_l <stdlib.h> or <wchar.h><stdlib.h> or <wchar.h>

EsempioExample

Questo programma viene illustrato come i numeri memorizzati come stringhe possono essere convertiti in valori numerici usando la _atoi64 funzioni.This program shows how numbers stored as strings can be converted to numeric values using the _atoi64 functions.

// crt_atoi64.c
// This program shows how numbers stored as
// strings can be converted to numeric values
// using the _atoi64 functions.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>

int main( void )
{
    char    *str = NULL;
    __int64 value = 0;

    // An example of the _atoi64 function
    // with leading and trailing white spaces.
    str = "  -2309 ";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );

    // Another example of the _atoi64 function
    // with an arbitrary decimal point.
    str = "314127.64";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );

    // Another example of the _atoi64 function
    // with an overflow condition occurring.
    str = "3336402735171707160320";
    value = _atoi64( str );
    printf( "Function: _atoi64( \"%s\" ) = %d\n", str, value );
    if (errno == ERANGE)
    {
       printf("Overflow condition occurred.\n");
    }
}
Function: _atoi64( "  -2309 " ) = -2309
Function: _atoi64( "314127.64" ) = 314127
Function: _atoi64( "3336402735171707160320" ) = -1
Overflow condition occurred.

Vedere ancheSee also

Conversione dei datiData Conversion
Supporto delle funzioni a virgola mobileFloating-Point Support
Impostazioni localiLocale
_ecvt_ecvt
_fcvt_fcvt
_gcvt_gcvt
setlocale, _wsetlocalesetlocale, _wsetlocale
_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt, _atoflt_l