atoll
, _atoll_l
, _wtoll
, _wtoll_l
Mengonversi string menjadi bilangan long long
bulat.
Sintaks
long long atoll(
const char *str
);
long long _wtoll(
const wchar_t *str
);
long long _atoll_l(
const char *str,
_locale_t locale
);
long long _wtoll_l(
const wchar_t *str,
_locale_t locale
);
Parameter
str
String yang akan dikonversi.
locale
Lokal untuk digunakan.
Nilai hasil
Setiap fungsi mengembalikan long long
nilai yang dihasilkan dengan menginterpretasikan karakter input sebagai angka. Nilai pengembalian untuk atoll
adalah 0 jika input tidak dapat dikonversi ke nilai jenis tersebut.
Untuk luapan dengan nilai integral positif besar, atoll
mengembalikan LLONG_MAX
, dan untuk luapan dengan nilai integral negatif besar, nilai mengembalikan LLONG_MIN
.
Dalam semua kasus di luar rentang, errno
diatur ke ERANGE
. Jika parameter yang diteruskan adalah NULL
, handler parameter yang tidak valid dipanggil, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi-fungsi ini diatur errno
ke EINVAL
dan mengembalikan 0.
Keterangan
Fungsi-fungsi ini mengonversi string karakter menjadi long long
nilai bilangan bulat.
String input adalah urutan karakter yang dapat ditafsirkan sebagai nilai numerik dari jenis yang ditentukan. Fungsi berhenti membaca string input pada karakter pertama yang tidak dapat dikenali sebagai bagian dari angka. Karakter ini mungkin karakter null ('\0' atau L'\0') yang mengakhiri string.
Argumen str
untuk atoll
memiliki formulir berikut:
[
whitespace
] [sign
] [digits
]
whitespace
Terdiri dari karakter spasi atau tab, yang diabaikan; sign
adalah plus (+) atau minus (-); dan digits
adalah satu atau beberapa digit.
_wtoll
identik dengan atoll
kecuali bahwa dibutuhkan string karakter yang lebar sebagai parameter.
Versi fungsi ini yang memiliki _l
akhiran identik dengan versi yang tidak memilikinya, kecuali bahwa fungsi tersebut menggunakan parameter lokal yang diteruskan alih-alih lokal saat ini. Untuk informasi selengkapnya, lihat Lokal.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Pemetaan rutin teks generik
Rutinitas Tchar.h | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tstoll |
atoll |
atoll |
_wtoll |
_tstoll_l |
_atoll_l |
_atoll_l |
_wtoll_l |
_ttoll |
_atoll |
_atoll |
_wtoll |
Persyaratan
Rutinitas | Header yang diperlukan |
---|---|
atoll , _atoll_l |
<stdlib.h> |
_wtoll , _wtoll_l |
<stdlib.h> atau <wchar.h> |
Contoh
Program ini menunjukkan cara menggunakan atoll
fungsi untuk mengonversi angka yang disimpan sebagai string ke nilai numerik.
// crt_atoll.c
// Build with: cl /W4 /Tc crt_atoll.c
// This program shows how to use the atoll
// functions to convert numbers stored as
// strings to numeric values.
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
int main(void)
{
char *str = NULL;
long long value = 0;
// An example of the atoll function
// with leading and trailing white spaces.
str = " -27182818284 ";
value = atoll(str);
printf("Function: atoll(\"%s\") = %lld\n", str, value);
// Another example of the atoll function
// with an arbitrary decimal point.
str = "314127.64";
value = atoll(str);
printf("Function: atoll(\"%s\") = %lld\n", str, value);
// Another example of the atoll function
// with an overflow condition occurring.
str = "3336402735171707160320";
value = atoll(str);
printf("Function: atoll(\"%s\") = %lld\n", str, value);
if (errno == ERANGE)
{
printf("Overflow condition occurred.\n");
}
}
Function: atoll(" -27182818284 ") = -27182818284
Function: atoll("314127.64") = 314127
Function: atoll("3336402735171707160320") = 9223372036854775807
Overflow condition occurred.
Baca juga
Konversi data
Dukungan matematika dan titik mengambang
Lokal
_ecvt
_fcvt
_gcvt
setlocale
, _wsetlocale
_atodbl
, _atodbl_l
, _atoldbl
, _atoldbl_l
, _atoflt
, _atoflt_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