strtoul, _strtoul_l, wcstoul, _wcstoul_l
Dize işaretsiz uzun tamsayı değerine dönüştürür.
unsigned long strtoul(
const char *nptr,
char **endptr,
int base
);
unsigned long _strtoul_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
unsigned long wcstoul(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
unsigned long _wcstoul_l(
const wchar_t *nptr,
wchar_t **endptr,
int base,
_locale_t locale
);
Parametreler
nptr
Dönüştürmek için null ile sonlandırılmış dize.endptr
Taramayı durduran karakter işaretçisi.base
Kullanılacak sayı tabanı.locale
Kullanılacak yerel ayar.
Dönüş Değeri
strtoul dönüştürülmüş değeri, varsa, döndürür veya taşmada ULONG_MAX.strtoul dönüştürme gerçekleştirilemiyorsa 0 döndürür.wcstoul, benzer olarak strtoul öğesine değerleri döndürür.Her iki işlev için de taşma veya yetersiz gelme oluşması ve geçersiz parametre işleyici çağrılması durumunda errno, ERANGE olarak ayarlanır.
Bkz: _doserrno, hatano, _sys_errlist ve _sys_nerr , bu ve diğer ilgili daha fazla bilgi için iade kodları.
Notlar
Bu işlevlerden her biri giriş dizesi dönüştürür nptr için bir unsignedlong.
strtoul bir sayının parçası olarak tanıyamadığı ilk karakterde nptr dizesini okumayı durdurur.Bu sondaki boş karakter olabilir veya base değerinden büyük veya ona eşit olan ilk sayısal karakter olabilir.LC_NUMERIC Bölgesel kategori ayarı belirler tanıma sayı tabanı karakterinin nptr; Daha fazla bilgi için bkz: setlocale.strtoulve wcstoul kullanmak geçerli yerel ayarı; _strtoul_lve _wcstoul_l yerine geçirilen yerel ayarları kullanmasını dışında aynıdır.Daha fazla bilgi için bkz. Yerel Ayar.
endptr öğesi NULL değilse, taramayı durduran karaktere ait bir işaretçi endptr tarafından işaret edilen konumda depolanır.Dönüştürme gerçekleştirilemezse (geçerli hiç basamak bulunamamış veya geçersiz bir taban belirtilmişse), nptr öğesinin değeri endptr tarafından işaret edilen konumda depolanır.
wcstoul, strtoul öğesinin geniş karakterli sürümüdür; nptr geniş karakterli bir dizedir.Aksi takdirde, bu işlevler, aynı şekilde davranır.
Genel Metin Yordam Eşleşmeleri
TCHAR.H yordamı |
_UNICODE & _MBCS tanımlanmamış |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tcstoul |
strtoul |
strtoul |
wcstoul |
_tcstoul_l |
strtoul_l |
_strtoul_l |
_wcstoul_l |
strtoul , nptr aşağıdaki biçimin bir dizesine işaret etmeyei bekler:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
whitespace yoksayılan boşluk ve sekme karakterlerinden oluşabilir; digitsise bir ya da daha fazla ondalık basamaklıdır.Bu forma uymayan ilk karakter taramayı durdurur.base 2 ile 36 arasındaysa, sayının tabanı olarak kullanılır.base 0 olursa, tabanı belirlemek için nptr tarafından işaret edilen dizenin ilk karakterleri kullanılır.İlk karakter 0 ise, ikinci karakter 'x' veya 'X' değilse, dize sekizlik bir tamsayı olarak yorumlanır.İlk karakter '0', ikinci karakter 'x' veya 'X' ise, dize onaltılık bir tamsayı olarak yorumlanır.İlk karakter '1'-'9' arasında bir sayı ise, dize ondalık bir tamsayı olarak yorumlanır.'a'-'z' (veya 'A'-'Z') arasındaki harflere 10-35 arasında değerler atanır; sadece atanmış değerleri base öğesinden küçük olan değerlere izin verilir.Tabanın aralığının dışındaki ilk karakter taramayı durdurur.Örneğin, base 0 ise ve taranan ilk karakter '0' ise, sekizlik bir tamsayı olduğu varsayılır ve '8' veya '9' karakteri taramayı durduracaktır.strtoulartı verir (+) veya eksi (–) işareti öneki; dönüş değeri değilleme uygulanmış önüne bir eksi işareti gösterir.
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
strtoul |
<stdlib.h> |
wcstoul |
<string.h> veya <wchar.h> |
_strtoul_l |
<stdlib.h> |
_wcstoul_l |
<string.h> veya <wchar.h> |
Ek uyumluluk bilgileri için Giriş altındaki Uyumluluk bölümüne bakın.
Örnek
strtodiçin örneğe bakın.
.NET Framework Eşdeğeri
Ayrıca bkz.
Başvuru
Sayısal Değer İşlevleri Dizesi
strtod, _strtod_l, wcstod, _wcstod_l