_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Bir dizeyi işaretsiz bir __int64 değerine dönüştürün.
unsigned __int64 _strtoui64(
const char *nptr,
char **endptr,
int base
);
unsigned __int64 _wcstoui64(
const wchar_t *nptr,
wchar_t **endptr,
int base
);
unsigned __int64 _strtoui64_l(
const char *nptr,
char **endptr,
int base,
_locale_t locale
);
unsigned __int64 _wcstoui64(
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
_strtoui64temsilin taşmaya neden olduğu zaman dışında nptr dizesinde temsil edilen değeri döndürür, o durumda ise _UI64_MAX öğesini döndürür. _strtoui64dönüştürme gerçekleştirilemiyorsa 0 döndürür.
_UI64_MAX LIMITS.H öğesinde tanımlanır.
nptr, NULL olursa veya base sıfır dışında bir değerse ve 2'den küçük veya 36'dan büyükse, errno, EINVAL olarak ayarlanır.
Bunlar ve diğer dönüş kodları hakkında daha fazla bilgi için bkz. _doserrno, errno, _sys_errlist ve _sys_nerr
Notlar
_strtoui64 işlevi, nptr öğesini unsigned __int64'ye dönüştürür._wcstoui64, _strtoui64 öğesinin geniş karakterli sürümüdür; nptr geniş karakterli bir dizedir.Aksi takdirde, bu işlevler, aynı şekilde davranır.
Her iki işlev de, 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.
Genel Metin Yordam Eşleşmeleri
TCHAR.H yordamı |
_UNICODE & _MBCS tanımlanmamış |
_MBCS tanımlanmış |
_UNICODE tanımlanmış |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
nptr öğesindeki taban karakterin tanınmasını geçerli yerel ayarların LC_NUMERIC kategori ayarı belirler; daha fazla bilgi için bkz. setlocale.The_l soneki olmadan işlevler geçerli yerel ayarı kullanır; _strtoui64_l ve _wcstoui64_l , geçirilen yerel ayarı kullanmaları dışında _l soneki olmayan ilgili işlevlerle 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.
_strtoui64 nptr öğesinin aşağıdaki formda olan bir dizeyi işaret etmesini bekler:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
whitespace yoksayılan boşluk ve sekme karakterlerinden oluşabilir; digits ise 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.
Gereksinimler
Yordam |
Gerekli başlık |
---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<string.h> veya <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<string.h> veya <wchar.h> |
Ek uyumluluk bilgileri için Giriş altındaki Uyumluluk bölümüne bakın.
Ö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 );
}
Ayrıca bkz.
Başvuru
Sayısal Değer İşlevleri Dizesi
strtod, _strtod_l, wcstod, _wcstod_l