strtoul
, _strtoul_l
, wcstoul
, _wcstoul_l
Dizeleri işaretsiz bir uzun tamsayı değerine dönüştürün.
Sözdizimi
unsigned long strtoul(
const char *strSource,
char **endptr,
int base
);
unsigned long _strtoul_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
unsigned long wcstoul(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
unsigned long _wcstoul_l(
const wchar_t *strSource,
wchar_t **endptr,
int base,
_locale_t locale
);
Parametreler
strSource
Dönüştürülecek null ile sonlandırılan 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ülen değeri (varsa) veya ULONG_MAX
taşma durumunda döndürür. strtoul
dönüştürme gerçekleştirilemiyorsa 0 döndürür. wcstoul
ile benzer değerler strtoul
döndürür. Her iki işlev için de errno
taşma veya yetersizlik oluşursa olarak ayarlanır ERANGE
.
İade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Açıklamalar
Bu işlevlerin her biri giriş dizesini strSource
öğesine unsigned long
dönüştürür.
strtoul
dizesini strSource
bir sayının parçası olarak tanıyamayan ilk karakterde okumayı durdurur. Bu karakter sonlandırıcı NULL
olabilir veya değerinden büyük veya buna eşit base
ilk sayısal karakter olabilir. LC_NUMERIC
Yerel ayarın kategori ayarı içindeki radix karakterinin strSource
tanınmasını belirler; daha fazla bilgi için bkzsetlocale
. . strtoul
ve wcstoul
geçerli yerel ayarı kullanın; _strtoul_l
bunun _wcstoul_l
yerine geçirilen yerel ayarı kullanmaları dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.
değilse endptr
NULL
, taramayı durduran karakterin işaretçisi tarafından endptr
işaret edilen konumda depolanır. Dönüştürme gerçekleştirilemiyorsa (geçerli basamak bulunamadıysa veya geçersiz bir taban belirtildiyse), değeri strSource
tarafından endptr
işaret edilen konumda depolanır.
wcstoul
geniş karakterli strtoul
bir sürümüdür; strSource
bağımsız değişkeni geniş karakterli bir dizedir. Aksi takdirde bu işlevler aynı şekilde davranır.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
TCHAR.H olağan |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_tcstoul |
strtoul |
strtoul |
wcstoul |
_tcstoul_l |
strtoul_l |
_strtoul_l |
_wcstoul_l |
strtoul
strSource
aşağıdaki biçimdeki bir dizeye işaret etmesini bekler:
[whitespace] [{+ | -}] [0 [{ x | X }]] [digits | letters]
A whitespace
, yoksayılan boşluk ve sekme karakterlerinden oluşabilir. digits
bir veya daha fazla ondalık basamaktır. letters
ile (veya aracılığıyla z
Z
) bir veya A
daha fazla harftira
. Bu forma uymayan ilk karakter taramayı durdurur. 2 ile 36 arasındaysa base
, sayının tabanı olarak kullanılır. 0 ise base
, temeli belirlemek için tarafından strSource
işaret edilen dizenin ilk karakterleri kullanılır. İlk karakter 0 ise ve ikinci karakter veya X
değilsex
, dize sekizli tamsayı olarak yorumlanır. İlk karakter '0' ve ikinci karakter veya X
isex
, dize onaltılık tamsayı olarak yorumlanır. İlk karakter '1' ile '9' arasındaysa, dize ondalık tamsayı olarak yorumlanır. (veya A
) arasında z
Z
harflere a
10 ile 35 arasında değerler atanır; yalnızca atanan değerlere izin verilenden base
az olan harflere izin verilir. Tabanın aralığının dışındaki ilk karakter taramayı durdurur. Örneğin, 0 ise ve taranan ilk karakter '0' ise base
, sekizli bir tamsayı varsayılır ve '8' veya '9' karakteri taramayı durdurur. strtoul
artı (+
) veya eksi (-
) işareti ön ekini sağlar; baştaki eksi işareti, dönüş değerinin negatif olduğunu gösterir.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
strtoul |
<stdlib.h> |
wcstoul |
<stdlib.h> veya <wchar.h> |
_strtoul_l |
<stdlib.h> |
_wcstoul_l |
<stdlib.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
örneğine strtod
bakın.
Ayrıca bkz.
Veri dönüştürme
Yerel ayar
localeconv
setlocale
, _wsetlocale
Sayısal değer işlevlerine dize
strtod
, _strtod_l
, wcstod
, _wcstod_l
strtol
, wcstol
, _strtol_l
, _wcstol_l
atof
, _atof_l
, _wtof
, _wtof_l