Aracılığıyla paylaş


strtol, wcstol, _strtol_l, _wcstol_l

Dizeleri bir uzun tamsayı değerine dönüştürür.

long strtol(
   const char *nptr,
   char **endptr,
   int base 
);
long wcstol(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base 
);
long _strtol_l(
   const char *nptr,
   char **endptr,
   int base,
   _locale_t locale
);
long _wcstol_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parametreler

  • nptr
    Dönüştürmek için boş sonlandırılmış dize.

  • endptr
    Taramayı durdurur karakter için işaretçi.

  • base
    Kullanılacak numarasını temel.

  • locale
    Kullanılacak yerel ayarı.

Dönüş Değeri

strtoldizenin temsil edilen değer verir nptr, temsili bir taşma neden olduğunda onu verir durumda dışında LONG_MAX veya LONG_MIN.strtoldönüştürme işlemi, 0 değerini döndürür.wcstolanalogously çok değerlerini döndürür strtol.Her iki işlevi için errno ayarlamak ERANGE taşma veya yetersiz gelme ortaya çıkarsa.

Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer dönüş kodları hakkında daha fazla bilgi için.

Notlar

The strtol function converts nptr to a long.strtoldize okuma başlıyor nptr ilk karakterinde bir numarasının bir parçası tanıdığını olamaz.Bu sondaki boş karakter olabilir ya da ilk sayısal karakter sayısından büyük veya eşit olabilir base.

wcstolgeniş karakter sürümü strtol; kendi nptr bağımsız değişkeni olan bir geniş karakter dizesi.Bu işlevler aynı şekilde aksi davranırlar.

Genel metin yordamı eşlemeleri

TCHAR.H yordamına girildi

_UNICODE & _mbcs tanımlı değil

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tcstol

strtol

strtol

wcstol

_tcstol_l

_strtol_l

_strtol_l

_wcstol_l

Yerel LC_NUMERIC kategori ayarı belirler tanıma sayı tabanı karakterinin nptr*;* daha fazla bilgi için bkz: setlocale.İşlevleri olmadan _l soneki kullanan yerel; _strtol_lve _wcstol_l ilgili işlevlerle aynı _l yerine geçirilen yerel kullandıkları dışında soneki belirtir.Daha fazla bilgi için bkz. Yerel ayar.

endptr Değil NULL, tarama durdu karakter için bir işaretçi olarak gösterilen konumda depolanan endptr.Dönüştürme işlemi, (geçerli bir basamak bulunamadı veya geçersiz bir temel belirtildi) değerini nptr göre sıralanmasını konumunda depolanan endptr.

strtol beklediği nptr aşağıdaki biçimde bir dizeye işaret edecek şekilde:

[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]

A whitespace göz ardı edilir; boşluk ve sekme karakterleri oluşabilir digitsbir veya daha fazla ondalık basamağı olan.Bu form için uygun değil ilk karakter taramayı durdurur.base Numarasını temel olarak kullanılan 2, 36 arasında ise.base Göre sıralanmasını dizenin ilk karakterinin 0'dır ve nptr Bankası belirlemek için kullanılır.İlk karakteri 0'dır ve ikinci karakteri 'x' veya 'x' değil, dize sekizlik bir tamsayı olarak yorumlanır. Aksi halde, ondalık sayı olarak yorumlanır.İlk karakter '0' dir ve ikinci bir karakter 'x' veya 'x' dizeyi onaltılık tamsayı olarak yorumlanır.İlk karakter ' 1' ile ' 9' ise, dize bir ondalık tamsayı olarak yorumlanır.Harfleri 35 deerleri 10 'a' ile 'z' (veya 'a'-'z') atanır; yalnızca atanan değerleri olan harfleri daha az base izin verilir.

Gereksinimler

Yordamı

Gerekli başlık

strtol

<stdlib.h>

wcstol

<stdlib.h> veya <wchar.h>

_strtol_l

<stdlib.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

Örneğin bakın strtod.

.NET Framework Eşdeğeri

System::CONVERT::ToInt64

Ayrıca bkz.

Başvuru

Veri Dönüştürme

Yerel ayar

localeconv

setlocale, _wsetlocale

Sayısal değer işlevler dize

strtod, _strtod_l, wcstod, _wcstod_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l