strtoimax
, _strtoimax_l
, wcstoimax
, _wcstoimax_l
Bir dizeyi desteklenen en büyük imzalı tamsayı türünde bir tamsayı değerine dönüştürür.
Sözdizimi
intmax_t strtoimax(
const char *strSource,
char **endptr,
int base
);
intmax_t wcstoimax(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
intmax_t _strtoimax_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
intmax_t _wcstoimax_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 karakterin işaretçisi.
base
Kullanılacak sayı tabanı.
locale
Kullanılacak yerel ayar.
Dönüş değeri
strtoimax
, dizesinde strSource
temsil edilen değeri döndürür, ancak gösterimin taşmaya neden olacağı durumlar dışında veya INTMAX_MIN
döndürür INTMAX_MAX
ve errno
olarak ERANGE
ayarlanır. Dönüştürme gerçekleştirilemiyorsa işlev 0 döndürür. wcstoimax
ile benzer değerler strtoimax
döndürür.
INTMAX_MAX
ve INTMAX_MIN
stdint.h içinde tanımlanır.
ise strSource
NULL
veya base
sıfır değilse ve 2'den küçük veya 36'dan büyükse olarak errno
ayarlanır EINVAL
.
İade kodları hakkında daha fazla bilgi için bkz. errno
, _doserrno
, _sys_errlist
ve _sys_nerr
.
Açıklamalar
strtoimax
işlevi bir intmax_t
öğesine dönüştürülürstrSource
. öğesinin strtoimax
geniş karakterli sürümüdür wcstoimax
; strSource
bağımsız değişkeni geniş karakterli bir dizedir. Aksi takdirde, bu işlevler aynı şekilde davranır. Her iki işlev de dizeyi strSource
bir sayının parçası olarak tanıyamadıkları ilk karakterde okumayı durdurur. Sonlandırıcı null karakter veya değerinden büyük veya buna eşit base
ilk sayısal karakter olabilir.
Yerel ayarın LC_NUMERIC
kategori ayarı içindeki radix karakterinin strSource
tanınmasını belirler; daha fazla bilgi için bkz setlocale
. , _wsetlocale
. Son ekine sahip _l
olmayan işlevler geçerli yerel ayarı kullanır ve _wcstoimax_l
bunun yerine geçirilen yerel ayarı _strtoimax_l
kullanmaları dışında son eki olmayan _l
ilgili işlevlerle 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.
Genel metin yordamı eşlemeleri
TCHAR.H yordamı | _UNICODE ve _MBCS tanımlanmadı |
_MBCS Tanımlanan |
_UNICODE Tanımlanan |
---|---|---|---|
_tcstoimax |
strtoimax |
strtoimax |
wcstoimax |
_tcstoimax_l |
strtoimax_l |
_strtoimax_l |
_wcstoimax_l |
strtoimax
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
'a' ile 'z' (veya 'A' - 'Z' arası) harflerinden bir veya daha fazlasıdır. 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' ve ikinci karakter 'x' veya 'X' değilse, dize sekizli tamsayı olarak yorumlanır. İlk karakter '0' ve ikinci karakter 'x' veya 'X' ise, dize onaltılık tamsayı olarak yorumlanır. İlk karakter '1' ile '9' arasındaysa, dize ondalık tamsayı olarak yorumlanır. 'a' ile 'z' (veya 'A' ile 'Z' arasında) harflerine 10 ile 35 arasında değerler atanır; yalnızca atanan değerlerden küçük base
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.
Gereksinimler
Yordam | Gerekli başlık |
---|---|
strtoimax , _strtoimax_l , wcstoimax , _wcstoimax_l |
<inttypes.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
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
strtoul
, _strtoul_l
, wcstoul
, _wcstoul_l
strtoumax
, _strtoumax_l
, wcstoumax
, _wcstoumax_l
atof
, _atof_l
, _wtof
, _wtof_l
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin