Bagikan melalui


Klasifikasi karakter

Masing-masing rutinitas ini menguji karakter byte tunggal, karakter lebar, atau karakter multibyte tertentu untuk kepuasan kondisi. (Menurut definisi, karakter ASCII yang ditetapkan antara 0 dan 127 adalah subset dari semua set karakter multibyte. Misalnya, katakana Jepang mencakup karakter ASCII dan non-ASCII.)

Kondisi pengujian dipengaruhi oleh pengaturan LC_CTYPE pengaturan kategori lokal. Untuk informasi selengkapnya, lihat setlocale . Versi fungsi-fungsi ini tanpa _l akhiran menggunakan lokal saat ini untuk perilaku tergantung lokal ini; versi dengan _l akhiran identik kecuali bahwa mereka menggunakan parameter lokal yang diteruskan sebagai gantinya.

Umumnya rutinitas ini dijalankan lebih cepat daripada tes yang mungkin Anda tulis dan harus disukai. Misalnya, kode berikut dijalankan lebih lambat dari panggilan ke isalpha(c):

if ((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z'))
    return TRUE;

Rutinitas klasifikasi karakter

Rutin Kondisi pengujian karakter
isalnum, iswalnum, _isalnum_l, _iswalnum_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Alfanumerik
_ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Alfanumerik multibyte
isalpha, iswalpha, _isalpha_l, _iswalpha_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Abjad
isascii, __isascii, iswascii ASCII
isblank, iswblank, _isblank_l, _iswblank_l, _ismbcsblank, _ismbcsblank_l Kosong (tab spasi atau horizontal)
iscntrl, iswcntrl, _iscntrl_l, _iswcntrl_l Kontrol
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Huruf, garis bawah, atau digit
iscsym, iscsymf, __iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l Huruf atau garis bawah
isdigit, iswdigit, _isdigit_l, _iswdigit_l, _ismbcalnum, _ismbcalnum_l, _ismbcalpha, _ismbcalpha_l, _ismbcdigit, _ismbcdigit_l Digit desimal
isgraph, iswgraph, _isgraph_l, _iswgraph_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Dapat dicetak selain spasi
islower, iswlower, _islower_l, _iswlower_l, _ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l Huruf kecil
_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l Hiragana
_ismbchira, _ismbchira_l, _ismbckata, _ismbckata_l Katakana
_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l Karakter multibyte legal
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l Karakter multibyte tingkat Jepang 0
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l Karakter multibyte tingkat Jepang 1
_ismbcl0, _ismbcl0_l, _ismbcl1, _ismbcl1_l, _ismbcl2, _ismbcl2_l Karakter multibyte tingkat Jepang 2
_ismbclegal, _ismbclegal_l, _ismbcsymbol, _ismbcsymbol_l Karakter multibyte non-alfanumerik
isprint, iswprint, _isprint_l, _iswprint_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Dicetak
ispunct, iswpunct, _ispunct_l, _iswpunct_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Tanda Baca
isspace, iswspace, _isspace_l, _iswspace_l, _ismbcgraph, _ismbcgraph_l, _ismbcprint, _ismbcprint_l, _ismbcpunct, _ismbcpunct_l, _ismbcblank, _ismbcblank_l, _ismbcspace, _ismbcspace_l Spasi kosong
isupper, iswupper, _ismbclower, _ismbclower_l, _ismbcupper, _ismbcupper_l Uppercase
_isctype, iswctype, _isctype_l, _iswctype_l Properti yang ditentukan oleh desc argumen
isxdigit, iswxdigit, _isxdigit_l, _iswxdigit_l Digit heksadesimal
_mbclen, mblen, _mblen_l Mengembalikan panjang karakter multibyte yang valid; hasil tergantung pada LC_CTYPE pengaturan kategori lokal saat ini

Baca juga

Rutinitas runtime Universal C menurut kategori