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