_strtoui64
, _wcstoui64
, _strtoui64_l
, _wcstoui64_l
Dizeyi bir unsigned __int64
değere dönüştürün.
Sözdizimi
unsigned __int64 _strtoui64(
const char *strSource,
char **endptr,
int base
);
unsigned __int64 _wcstoui64(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
unsigned __int64 _strtoui64_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
unsigned __int64 _wcstoui64_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
_strtoui64
, dizesinde strSource
temsil edilen değeri döndürür, ancak gösterimin taşmasına neden olacağı durumlar dışında, bu durumda değerini döndürür _UI64_MAX
. _strtoui64
dönüştürme gerçekleştirilemiyorsa 0 döndürür.
_UI64_MAX
içinde LIMITS.H
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
_strtoui64
işlevi bir unsigned __int64
öğesine dönüştürülürstrSource
. _wcstoui64
geniş karakterli _strtoui64
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.
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 olabilir veya değerinden büyük veya buna eşit base
ilk sayısal karakter olabilir.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bunu 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 |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wcstoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wcstoui64_l |
Geçerli yerel ayarın LC_NUMERIC
kategori ayarı içindeki radix karakterinin strSource
tanınmasını belirler; daha fazla bilgi için bkz setlocale
. . Soneki olmayan _l
işlevler geçerli yerel ayarı kullanır ve _wcstoui64_l
bunun yerine geçirilen yerel ayarı _strtoui64_l
kullanmaları dışında, sonek olmadan _l
karşılık gelen 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.
_strtoui64
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ında) harflerinden biri 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
Function | Gerekli başlık |
---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<stdlib.h> veya <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<stdlib.h> veya <wchar.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Örnek
// crt_strtoui64.c
#include <stdio.h>
unsigned __int64 atoui64(const char *szUnsignedInt) {
return _strtoui64(szUnsignedInt, NULL, 10);
}
int main() {
unsigned __int64 u = atoui64("18446744073709551615");
printf( "u = %I64u\n", u );
}
u = 18446744073709551615
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
strtoul
, _strtoul_l
, wcstoul
, _wcstoul_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