atol, _atol_l, _wtol, _wtol_l

Bir dize uzun bir tamsayıya dönüştürür.

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

Parametreler

  • str
    Dönüştürülecek dize.

  • locale
    Kullanılacak yerel ayarı.

Dönüş Değeri

Her işlev verir long giriş karakterleri sayı olarak yorumlama tarafından üretilir.Dönüş değeri 0 M olan atol , giriş türü bir değere dönüştürülemez.

Büyük pozitif tam sayı değerleri içeren taşma durumunda, atol döndüren LONG_MAX; taşma büyük negatif tamsayı değerlerine sahip olması durumunda, LONG_MIN döndürülür.Tüm aralık dışı durumlarda, errno ayarlamak ERANGE.Geçirilen parametre ise NULL, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre Doğrulama.Yürütülmesine devam etmek için izin verilmişse, bu işlevler kümesi errno için EINVAL ve 0 döndürür.

Notlar

Bu işlevler bir karakter dizesi bir uzun tamsayı değerine dönüştürme (atol).

Giriş dizesi, belirtilen türde bir sayısal değer yorumlanan karakter dizisidir.Giriş dizesi bir parçası olarak tanıyamaz ilk karakterinde okuma işlevini durdurur.Bu karakter olabilir NULL ('\0' ya da l '\0') karakter dizesi sona eriyor.

str Bağımsız değişkeni atol aşağıdaki biçime sahiptir:

[whitespace] [sign] [digits]]

A whitespace göz ardı edilir; boşluk veya sekme karakterleri oluşur signya artı (+) veya eksi (-); ve digits bir veya daha fazla rakamlarıdır.

_wtolaynıdır atol dışında geniş karakter dizesini alır.

Bu işlevler ile sürümlerini _l soneki yerine yerel geçirilen yerel parametresi kullandıkları dışında aynı.Daha fazla bilgi için bkz. Yerel Ayar.

Genel metin yordamı eşlemeleri

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tstol

atol

atol

_wtol

_ttol

atol

atol

_wtol

Gereksinimler

Yordamları

Gerekli başlık

atol

<stdlib.h>

_atol_l, _wtol, _wtol_l

<stdlib.h> ve <wchar.h>

Örnek

Bu program, dize olarak saklanmış sayılar sayısal değerlerini kullanarak nasıl dönüştürülebilir gösterir atol işlevi.

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

.NET Framework Eşdeğeri

Ayrıca bkz.

Başvuru

Veri Dönüştürme

Kayan Nokta Desteği

Yerel Ayar

_ecvt

_fcvt

_gcvt

setlocale, _wsetlocale

_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l