_strtoui64, _wcstoui64, _strtoui64_l, _wcstoui64_l

Mengonversi string menjadi unsigned __int64 nilai.

Sintaks

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
);

Parameter

strSource
String yang dihentikan null untuk dikonversi.

endptr
Penunjuk ke karakter yang menghentikan pemindaian.

base
Basis angka yang akan digunakan.

locale
Lokal untuk digunakan.

Nilai hasil

_strtoui64 mengembalikan nilai yang diwakili dalam string strSource, kecuali ketika representasi akan menyebabkan luapan, dalam hal ini mengembalikan _UI64_MAX. _strtoui64 mengembalikan 0 jika tidak ada konversi yang dapat dilakukan.

_UI64_MAX didefinisikan dalam LIMITS.H.

Jika strSource adalah NULL atau base nonzero dan kurang dari 2 atau lebih besar dari 36, errno diatur ke EINVAL.

Untuk informasi selengkapnya tentang kode pengembalian, lihat errno, , _doserrno_sys_errlist, dan _sys_nerr.

Keterangan

Fungsi ini _strtoui64 dikonversi strSource ke unsigned __int64. _wcstoui64 adalah versi karakter luas dari _strtoui64; argumennya strSource adalah string karakter lebar. Jika tidak, fungsi-fungsi ini ber perilaku identik.

Kedua fungsi berhenti membaca string strSource pada karakter pertama yang tidak dapat mereka kenali sebagai bagian dari angka. Ini mungkin karakter null yang mengakhiri, atau mungkin karakter numerik pertama yang lebih besar dari atau sama dengan base.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubahnya, lihat Status global di CRT.

Pemetaan rutin teks generik

TCHAR.H Rutin _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcstoui64 _strtoui64 _strtoui64 _wcstoui64
_tcstoui64_l _strtoui64_l _strtoui64_l _wcstoui64_l

Pengaturan kategori lokal LC_NUMERIC saat ini menentukan pengenalan karakter radix di strSource; untuk informasi selengkapnya, lihat setlocale. Fungsi tanpa _l akhiran menggunakan lokal saat ini; _strtoui64_l dan _wcstoui64_l identik dengan fungsi yang sesuai tanpa _l akhiran kecuali menggunakan lokal yang diteruskan sebagai gantinya. Untuk informasi selengkapnya, lihat Lokal.

Jika endptr bukan , penunjuk NULLke karakter yang menghentikan pemindaian disimpan di lokasi yang ditujukkan oleh endptr. Jika tidak ada konversi yang dapat dilakukan (tidak ada digit yang valid yang ditemukan atau basis yang tidak valid ditentukan), nilai strSource disimpan di lokasi yang ditunjukkan oleh endptr.

_strtoui64strSource mengharapkan untuk menunjuk ke string formulir berikut:

[whitespace] [{+ | -}] [0 [{ x | X }]] [digits | letters]

Mungkin whitespace terdiri dari karakter spasi dan tab, yang diabaikan. digits adalah satu atau beberapa digit desimal. letters adalah satu atau beberapa huruf 'a' melalui 'z' (atau 'A' hingga 'Z'). Karakter pertama yang tidak cocok dengan formulir ini menghentikan pemindaian. Jika base antara 2 dan 36, maka digunakan sebagai basis angka. Jika base adalah 0, karakter awal string yang ditujuk oleh strSource digunakan untuk menentukan dasar. Jika karakter pertama adalah '0' dan karakter kedua bukan 'x' atau 'X', string ditafsirkan sebagai bilangan bulat oktal. Jika karakter pertama adalah '0' dan karakter kedua adalah 'x' atau 'X', string ditafsirkan sebagai bilangan bulat heksadesimal. Jika karakter pertama adalah '1' hingga '9', string ditafsirkan sebagai bilangan bulat desimal. Huruf 'a' melalui 'z' (atau 'A' hingga 'Z') diberi nilai 10 hingga 35; hanya huruf yang nilai yang ditetapkan kurang dari base yang diizinkan. Karakter pertama di luar rentang dasar menghentikan pemindaian. Misalnya, jika base adalah 0 dan karakter pertama yang dipindai adalah '0', bilangan bulat oktal diasumsikan dan karakter '8' atau '9' akan menghentikan pemindaian.

Persyaratan

Function Header yang diperlukan
_strtoui64 <stdlib.h>
_wcstoui64 <stdlib.h> atau <wchar.h>
_strtoui64_l <stdlib.h>
_wcstoui64_l <stdlib.h> atau <wchar.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

// 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

Baca juga

Konversi data
Lokal
localeconv
setlocale, _wsetlocale
String ke fungsi nilai numerik
strtod, _strtod_l, wcstod, _wcstod_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
atof, _atof_l, _wtof, _wtof_l