strtoumax, _strtoumax_l, wcstoumax, _wcstoumax_l

Mengonversi string menjadi nilai bilangan bulat dari jenis bilangan bulat tidak ditandatangani terbesar yang didukung.

Sintaks

uintmax_t strtoumax(
   const char *strSource,
   char **endptr,
   int base
);
uintmax_t _strtoumax_l(
   const char *strSource,
   char **endptr,
   int base,
   _locale_t locale
);
uintmax_t wcstoumax(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base
);
uintmax_t _wcstoumax_l(
   const wchar_t *strSource,
   wchar_t **endptr,
   int base,
   _locale_t locale
);

Parameter

strSource
String yang dihentikan null untuk dikonversi.

endptr
Arahkan ke karakter yang menghentikan pemindaian.

base
Basis angka yang akan digunakan.

locale
Lokal untuk digunakan.

Nilai hasil

strtoumax mengembalikan nilai yang dikonversi, jika ada, atau UINTMAX_MAX pada luapan. strtoumax mengembalikan 0 jika tidak ada konversi yang dapat dilakukan. wcstoumax mengembalikan nilai secara analog ke strtoumax. Untuk kedua fungsi, errno diatur ke ERANGE jika luapan atau aliran bawah terjadi.

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

Keterangan

Masing-masing fungsi ini mengonversi string strSource input menjadi uintmax_t nilai bilangan bulat.

strtoumax berhenti membaca string strSource pada karakter pertama yang tidak dapat dikenali sebagai bagian dari angka. Ini mungkin karakter null yang mengakhiri, atau mungkin karakter numerik pertama yang lebih besar dari atau sama dengan base. Pengaturan LC_NUMERIC kategori lokal menentukan pengenalan karakter radix di strSource. Untuk informasi selengkapnya, lihat setlocale, _wsetlocale. strtoumax dan wcstoumax gunakan lokal saat ini; _strtoumax_l dan _wcstoumax_l identik kecuali mereka menggunakan lokal yang diteruskan. Untuk informasi selengkapnya, lihat Lokal.

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

Versi strtoumax karakter lebar adalah wcstoumax; argumennya strSource adalah string karakter lebar. Jika tidak, fungsi-fungsi ini berulah identik.

Pemetaan rutin teks generik

TCHAR. Rutinitas H _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcstoumax strtoumax strtoumax wcstoumax
_tcstoumax_l strtoumax_l _strtoumax_l _wcstoumax_l

strtoumaxstrSource 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 menunjuk ke 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. strtoumax memungkinkan awalan tanda plus (+) atau tanda minus (-) ; tanda minus terkemuka menunjukkan bahwa nilai yang dikembalikan adalah pelengkap dua nilai absolut dari string yang dikonversi.

Persyaratan

Rutin Header yang diperlukan
strtoumax, wcstoumax, _strtoumax_l, _wcstoumax_l <inttypes.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

Lihat contoh untuk strtod.

Baca juga

Konversi data
Lokal
localeconv
setlocale, _wsetlocale
String ke fungsi nilai numerik
strtod, _strtod_l, wcstod, _wcstod_l
strtoimax, _strtoimax_l, wcstoimax, _wcstoimax_l
strtol, wcstol, _strtol_l, _wcstol_l
strtoul, _strtoul_l, wcstoul, _wcstoul_l
strtoll, _strtoll_l, wcstoll, _wcstoll_l
atof, _atof_l, _wtof, _wtof_l