Aracılığıyla paylaş


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 strtouldö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_errlistve _sys_nerr.

Açıklamalar

Bu işlevlerin her biri giriş dizesini strSource öğesine unsigned longdö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ı NULLolabilir veya değerinden büyük veya buna eşit baseilk sayısal karakter olabilir. LC_NUMERIC Yerel ayarın kategori ayarı içindeki radix karakterinin strSourcetanı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 endptrNULL, taramayı durduran karakterin işaretçisi tarafından endptriş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 endptrişaret edilen konumda depolanır.

wcstoul geniş karakterli strtoulbir 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 Rutin _UNICODE ve _MBCS tanımlanmadı _MBCS Tanımlanan _UNICODE Tanımlanan
_tcstoul strtoul strtoul wcstoul
_tcstoul_l strtoul_l _strtoul_l _wcstoul_l

strtoulstrSource 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. lettersile (veya aracılığıyla zZ) 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 Xdeğilsex, dize sekizli tamsayı olarak yorumlanır. İlk karakter '0' ve ikinci karakter veya Xisex, 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 zZharflere 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 strtodbakı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