strtoimax
, _strtoimax_l
, wcstoimax
, _wcstoimax_l
Mengonversi string menjadi nilai bilangan bulat dari jenis bilangan bulat bertanda tangan terbesar yang didukung.
Sintaks
intmax_t strtoimax(
const char *strSource,
char **endptr,
int base
);
intmax_t wcstoimax(
const wchar_t *strSource,
wchar_t **endptr,
int base
);
intmax_t _strtoimax_l(
const char *strSource,
char **endptr,
int base,
_locale_t locale
);
intmax_t _wcstoimax_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 yang akan digunakan.
Nilai hasil
strtoimax
mengembalikan nilai yang diwakili dalam string strSource
, kecuali ketika representasi akan menyebabkan luapan—dalam hal ini, nilai mengembalikan INTMAX_MAX
atau INTMAX_MIN
, dan errno
diatur ke ERANGE
. Fungsi mengembalikan 0 jika tidak ada konversi yang dapat dilakukan. wcstoimax
mengembalikan nilai secara analog ke strtoimax
.
INTMAX_MAX
dan INTMAX_MIN
didefinisikan dalam stdint.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 strtoimax
dikonversi strSource
ke intmax_t
. Versi strtoimax
karakter lebar adalah wcstoimax
; argumennya strSource
adalah string karakter lebar. Jika tidak, fungsi-fungsi ini berulah 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
.
Pengaturan kategori lokal LC_NUMERIC
menentukan pengenalan karakter radix di strSource
; untuk informasi selengkapnya, lihat setlocale
, _wsetlocale
. Fungsi yang tidak memiliki _l
akhiran menggunakan lokal saat ini; _strtoimax_l
dan _wcstoimax_l
identik dengan fungsi yang sesuai yang tidak memiliki _l
akhiran kecuali bahwa 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
.
Pemetaan rutin teks generik
TCHAR. Rutinitas H | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcstoimax |
strtoimax |
strtoimax |
wcstoimax |
_tcstoimax_l |
strtoimax_l |
_strtoimax_l |
_wcstoimax_l |
strtoimax
strSource
mengharapkan untuk menunjuk ke string formulir berikut:
[
whitespace
] [{+
|-
}] [0
[{x
|X
}]] [digits
|letters
]
whitespace
Mungkin 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' melalui '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
Rutin | Header yang diperlukan |
---|---|
strtoimax , _strtoimax_l , wcstoimax , _wcstoimax_l |
<inttypes.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Baca juga
Konversi data
Lokal
localeconv
setlocale
, _wsetlocale
String ke fungsi nilai numerik
strtod
, _strtod_l
, wcstod
, _wcstod_l
strtol
, wcstol
, _strtol_l
, _wcstol_l
strtoul
, _strtoul_l
, wcstoul
, _wcstoul_l
strtoumax
, _strtoumax_l
, wcstoumax
, _wcstoumax_l
atof
, _atof_l
, _wtof
, _wtof_l
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk