Udostępnij za pośrednictwem


Atol, _atol_l, _wtol, _wtol_l

Konwertowanie ciągu na liczba całkowita długa.

long atol(
   const char *str 
);
long _atol_l(
   const char *str,
   _locale_t locale
);
long _wtol(
   const wchar_t *str 
);
long _wtol_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 long wartość wyprodukowanych przez zinterpretowanie wprowadzanie znaków jako liczba.Zwracana jest wartość 0 L- atol , 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ą atol zwraca LONG_MAX; w odniesieniu do przepełnienia o dużych wartościach ujemnych integralną LONG_MIN jest zwracany.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 konwersji ciągu znaków na wartość Liczba całkowita długa (atol).

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ć NULL znak ('\0' lub L '\0') kończące ciąg.

str Argument atol 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ę.

_wtoljest taka sama, jak atol z wyjątkiem, że trwa ciąg szerokich znaków.

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

TCHAR.Rutynowe H

_UNICODE & Nie zdefiniowano _MBCS

_MBCS, definicja

_UNICODE, definicja

_tstol

atol

atol

_wtol

_ttol

atol

atol

_wtol

Wymagania

Procedur

Wymaganego nagłówka

atol

<stdlib.h>

_atol_l, _wtol, _wtol_l

<stdlib.h> i <wchar.h>

Przykład

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

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

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

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

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

    // Another example of the atol function
    // with an overflow condition occurring.
    str = "3336402735171707160320";
    value = atol( str );
    printf( "Function: atol( \"%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