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