_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l
Bir dize dönüştürmek için imzasız __int64 değeri.
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 boş sonlandırılmış dize.endptr
Taramayı durdurur karakter için işaretçi.base
Kullanılacak numarasını temel.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
_strtoui64dizenin temsil edilen değer verir nptr, temsili bir taşma neden olduğunda onu verir durumda dışında _UI64_MAX._strtoui64dönüştürme işlemi, 0 döndürür.
_UI64_MAXSINIRLARI içinde tanımlanır.H.
nptr Olan NULL veya base sıfır olduğu ve 2 ya da 36, daha büyük ya da daha az errno ayarlamak EINVAL.
Bkz: _doserrno, errno, _sys_errlist ve _sys_nerr bu ve diğer ilgili daha fazla bilgi için kodları dönün.
Notlar
The _strtoui64function converts nptr to an unsigned __int64._wcstoui64geniş karakter sürümü _strtoui64; kendi nptr bağımsız değişkeni olan bir geniş karakter dizesi.Aksi takdirde bu işlevler aynı şekilde davranır.
Her iki işlevi durdurmak dize okuma nptr ilk karakterinde bunlar bir numarasının bir parçası tanımak alamazsınız.Bu sondaki boş karakter olabilir ya da ilk sayısal karakter sayısından büyük veya eşit olabilir base.
Genel metin yordamı eşlemeleri
TCHAR.H yordamına girildi |
_UNICODE & _mbcs tanımlı değil |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tcstoui64 |
_strtoui64 |
_strtoui64 |
_wstrtoui64 |
_tcstoui64_l |
_strtoui64_l |
_strtoui64_l |
_wstrtoui64_l |
Yerel LC_NUMERIC kategori ayarı belirler tanıma sayı tabanı karakterinin nptr; Daha fazla bilgi için bkz: setlocale._L soneki olmayan işlevler, geçerli yerel ayarı kullanmak; _strtoui64_l ve_wcstoui64_l ilgili işlevlerle aynı _l yerine geçirilen yerel kullandıkları dışında soneki belirtir.Daha fazla bilgi için bkz. Yerel ayar.
endptr Değil NULL, tarama durdu karakter için bir işaretçi olarak gösterilen konumda depolanan endptr.Dönüştürme işlemi, (geçerli bir basamak bulunamadı veya geçersiz bir temel belirtildi) değerini nptr göre sıralanmasını konumunda depolanan endptr.
_strtoui64 beklediği nptr aşağıdaki biçimde bir dizeye işaret edecek şekilde:
[whitespace] [{+ | –}] [0 [{ x | X }]] [digits]
A whitespace göz ardı edilir; boşluk ve sekme karakterleri oluşabilir digits bir veya daha fazla ondalık basamağı olan.Bu form için uygun değil ilk karakter taramayı durdurur.base Numarasını temel olarak kullanılan 2, 36 arasında ise.base Göre sıralanmasını dizenin ilk karakterinin 0'dır ve nptr Bankası belirlemek için kullanılır.İlk karakteri 0'dır ve ikinci karakteri 'x' veya 'x' değil, dize sekizlik bir tamsayı olarak yorumlanır. Aksi halde, ondalık sayı olarak yorumlanır.İlk karakter '0' dir ve ikinci bir karakter 'x' veya 'x' dizeyi onaltılık tamsayı olarak yorumlanır.İlk karakter ' 1' ile ' 9' ise, dize bir ondalık tamsayı olarak yorumlanır.Harfleri 35 deerleri 10 'a' ile 'z' (veya 'a'-'z') atanır; yalnızca atanan değerleri olan harfleri daha az base izin verilir.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_strtoui64 |
<stdlib.h> |
_wcstoui64 |
<stdlib.h> veya <wchar.h> |
_strtoui64_l |
<stdlib.h> |
_wcstoui64_l |
<stdlib.h> veya <wchar.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.
Ö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
strtod, _strtod_l, wcstod, _wcstod_l