Udostępnij za pośrednictwem


_atoi64, _atoi64_l, _wtoi64, _wtoi64_l

Konwertuje ciąg na liczba całkowita 64-bitowa.

__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
);

Parametry

  • str
    Ciąg do konwersji.

  • locale
    Ustawienia regionalne, aby użyć.

Wartość zwracana

Każda funkcja zwraca __int64 wartość wyprodukowanych przez zinterpretowanie wprowadzanie znaków jako liczba.Zwracana jest wartość 0 dla _atoi64 , jeśli dane wejściowe nie można przekonwertować wartości tego typu.

W odniesieniu do przepełnienia o dużej wartości dodatnie integralną _atoi64 zwraca I64_MAX i I64_MIN z przepełnienie o dużych wartościach ujemnych integralną.

We wszystkich przypadkach spoza zakresu errno jest ustawiona na ERANGE.Jeśli parametr przekazywany w NULL, wywoływana jest funkcja obsługi nieprawidłowy parametr, jak opisano w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, ustaw te funkcje errno do EINVAL i zwraca wartość 0.

Uwagi

Te funkcje przekonwertować ciąg znaków do wartości 64-bitową liczbą całkowitą.

Ciąg wejściowy jest sekwencja znaków, które mogą być interpretowane jako wartości liczbowe określonego typu.Funkcja Zatrzymuje czytanie ciąg wejściowy od pierwszego znaku, który nie jest rozpoznawana jako część numeru.Znak ten może być znakiem null ('\0' lub L '\0') kończące ciąg.

str Argument _atoi64 ma następującą postać:

[whitespace] [sign] [digits]]

A whitespace składa się ze znaków spacja lub tabulator, które są ignorowane; signjest albo plus (+) lub minus (-); i digits są co najmniej jedną cyfrę.

_wtoi64jest taka sama, jak _atoi64 z wyjątkiem, że trwa ciąg szerokich znaków jako parametr.

Wersje te funkcje, z _l sufiks są identyczne, z wyjątkiem, że używają oni przekazany zamiast bieżące ustawienia regionalne parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Tekst rodzajowy rutynowych mapowania

Procedura TCHAR.h

_UNICODE i _MBCS nie zdefiniowane

_MBCS, definicja

_UNICODE, definicja

_tstoi64

_atoi64

_atoi64

_wtoi64

_ttoi64

_atoi64

_atoi64

_wtoi64

Wymagania

Procedur

Wymaganego nagłówka

_atoi64, _atoi64_l

<stdlib.h>

_wtoi64, _wtoi64_l

<stdlib.h> lub <wchar.h>

Przykład

Program ten pokazuje, jak liczby przechowywane jako ciągi mogą być konwertowane na wartości liczbowe za pomocą _atoi64 funkcji.

// 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");
    }
}
  

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Konwersja danych

Wsparcie zmiennoprzecinkowe

Ustawienia regionalne

_ecvt

_fcvt

_gcvt

setLocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l