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
Ayrıca bkz.
Başvuru
strtod, _strtod_l, wcstod, _wcstod_l