is
, isw
rutinitas
isalnum
, iswalnum
, _isalnum_l
, _iswalnum_l
isalpha
, iswalpha
, _isalpha_l
, _iswalpha_l
isascii
, __isascii
, iswascii
isblank
, iswblank
, _isblank_l
, _iswblank_l
iscntrl
, iswcntrl
, _iscntrl_l
, _iswcntrl_l
iscsym
, iscsymf
, __iscsym
, __iswcsym
, __iscsymf
, __iswcsymf
, _iscsym_l
, _iswcsym_l
, _iscsymf_l
, _iswcsymf_l
_isctype
, iswctype
, _isctype_l
, _iswctype_l
isdigit
, iswdigit
, _isdigit_l
, _iswdigit_l
isgraph
, iswgraph
, _isgraph_l
, _iswgraph_l
isleadbyte
, _isleadbyte_l
islower
, iswlower
, _islower_l
, _iswlower_l
isprint
, iswprint
, _isprint_l
, _iswprint_l
ispunct
, iswpunct
, _ispunct_l
, _iswpunct_l
isspace
, iswspace
, _isspace_l
, _iswspace_l
isupper
, _isupper_l
, iswupper
, _iswupper_l
isxdigit
, iswxdigit
, _isxdigit_l
, _iswxdigit_l
Keterangan
Rutinitas ini menguji karakter untuk kondisi yang ditentukan.
Rutinitas is
menghasilkan hasil yang bermakna untuk setiap argumen bilangan bulat dari -1 (EOF
) hingga UCHAR_MAX
(0xFF), inklusif. Jenis argumen yang diharapkan adalah int
.
Perhatian
is
Untuk rutinitas, meneruskan argumen jenis char
dapat menghasilkan hasil yang tidak dapat diprediksi. Karakter tipe char
byte tunggal SBCS atau MBCS dengan nilai yang lebih besar dari 0x7F negatif. char
Jika diteruskan, pengkompilasi dapat mengonversi nilai menjadi signed int
atau signed long
. Nilai ini mungkin diperluas oleh pengkompilasi, dengan hasil yang tidak terduga.
Rutinitas isw
menghasilkan hasil yang bermakna untuk setiap nilai bilangan bulat dari -1 (WEOF
) hingga 0xFFFF, inklusif. Jenis wint_t
data didefinisikan sebagai <WCHAR.H>
unsigned short
. Ini dapat menampung karakter lebar atau nilai akhir file (WEOF
) karakter lebar.
Nilai output 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.
Dalam lokal "C", kondisi pengujian untuk is
rutinitas adalah sebagai berikut:
isalnum
Alfanumerik (A - Z, a - z, atau 0 - 9).
isalpha
Alfabet (A - Z atau a - z).
__isascii
Karakter ASCII (0x00 - 0x7F).
isblank
Tab horizontal atau karakter spasi (0x09 atau 0x20).
iscntrl
Karakter kontrol (0x00 - 0x1F atau 0x7F).
__iscsym
Huruf, garis bawah, atau digit.
__iscsymf
Huruf atau garis bawah.
isdigit
Digit desimal (0 - 9).
isgraph
Karakter yang dapat dicetak kecuali spasi (0x20).
islower
Huruf kecil (a - z).
isprint
Karakter yang dapat dicetak termasuk spasi (0x20 - 0x7E).
ispunct
Karakter tanda baca.
isspace
Karakter spasi putih (0x09 - 0x0D atau 0x20).
isupper
Huruf besar (A - Z).
isxdigit
Digit heksadesimal (A - F, a - f, atau 0 - 9).
isw
Untuk rutinitas, hasil pengujian untuk kondisi yang ditentukan tidak bergantung pada lokal. Kondisi pengujian untuk isw
fungsi adalah sebagai berikut:
iswalnum
iswalpha
atau iswdigit
.
iswalpha
Setiap karakter lebar yang merupakan salah satu set yang ditentukan implementasi yang tidak satu pun dari iswcntrl
, iswdigit
, iswpunct
, atau iswspace
bukan nol. iswalpha
mengembalikan nonzero hanya untuk karakter lebar yang iswupper
atau iswlower
bukan nol.
iswascii
Representasi karakter luas karakter ASCII (0x0000 - 0x007F).
iswblank
Karakter lebar yang sesuai dengan karakter spasi standar atau merupakan salah satu dari sekumpulan karakter lebar yang ditentukan implementasi yang iswalnum
salah. Karakter kosong standar adalah spasi (L' '
) dan tab horizontal (L'\t'
).
iswcntrl
Mengontrol karakter lebar.
__iswcsym
Karakter lebar apa pun yang isalnum
benar, atau karakter '_'.
__iswcsymf
Karakter lebar apa pun yang iswalpha
benar, atau karakter '_'.
iswctype
Karakter memiliki properti yang ditentukan oleh desc
argumen . Untuk setiap nilai valid argumen desc
iswctype
, ada rutinitas klasifikasi karakter lebar yang setara, seperti yang ditunjukkan dalam tabel berikut:
Kesetaraan iswctype(c, desc)
dengan rutinitas pengujian lainnya isw
desc Nilai argumen |
iswctype(c, desc) persamaan |
---|---|
_ALPHA |
iswalpha(c) |
_ALPHA | _DIGIT |
iswalnum(c) |
_BLANK |
iswblank(c) |
_CONTROL |
iswcntrl(c) |
_DIGIT |
iswdigit(c) |
_ALPHA | _DIGIT | _PUNCT |
iswgraph(c) |
_LOWER |
iswlower(c) |
_ALPHA | _BLANK | _DIGIT | _PUNCT |
iswprint(c) |
_PUNCT |
iswpunct(c) |
_BLANK |
iswblank(c) |
_SPACE |
iswspace(c) |
_UPPER |
iswupper(c) |
_HEX |
iswxdigit(c) |
iswdigit
Karakter lebar yang sesuai dengan karakter digit desimal.
iswgraph
Karakter lebar yang dapat dicetak kecuali karakter lebar spasi (L' '
).
iswlower
Huruf kecil, atau salah satu dari sekumpulan karakter lebar yang ditentukan implementasi yang tidak satu pun dari iswcntrl
, iswdigit
, iswpunct
, atau iswspace
bukan nol. iswlower
mengembalikan bukan nol hanya untuk karakter lebar yang sesuai dengan huruf kecil.
iswprint
Karakter lebar yang dapat dicetak, termasuk karakter lebar spasi (L' '
).
iswpunct
Karakter lebar yang dapat dicetak yang keduanya bukan karakter lebar spasi (L' '
) dan bukan karakter lebar yang iswalnum
bukan nol.
iswspace
Karakter lebar yang sesuai dengan karakter spasi putih standar atau merupakan salah satu dari sekumpulan karakter lebar yang ditentukan implementasi yang iswalnum
salah. Karakter spasi putih standar adalah: spasi (L' '
), umpan formulir (L'\f'
), baris baru (L'\n'
), pengembalian gerbong (L'\r'
), tab horizontal (L'\t'
), dan tab vertikal (L'\v'
).
iswupper
Karakter lebar yang huruf besar atau merupakan salah satu dari sekumpulan karakter lebar yang ditentukan implementasi yang tidak satu pun dari iswcntrl
, iswdigit
, iswpunct
, atau iswspace
bukan nol. iswupper
mengembalikan nonzero hanya untuk karakter lebar yang sesuai dengan karakter huruf besar.
iswxdigit
Karakter lebar yang sesuai dengan karakter digit heksadesimal.
Contoh
// crt_isfam.c
/* This program tests all characters between 0x0
* and 0x7F, then displays each character with abbreviations
* for the character-type codes that apply.
*/
#include <stdio.h>
#include <ctype.h>
int main( void )
{
int ch;
for( ch = 0; ch <= 0x7F; ch++ )
{
printf( "%.2x ", ch );
printf( " %c", isprint( ch ) ? ch : ' ' );
printf( "%4s", isalnum( ch ) ? "AN" : "" );
printf( "%3s", isalpha( ch ) ? "A" : "" );
printf( "%3s", __isascii( ch ) ? "AS" : "" );
printf( "%3s", iscntrl( ch ) ? "C" : "" );
printf( "%3s", __iscsym( ch ) ? "CS " : "" );
printf( "%3s", __iscsymf( ch ) ? "CSF" : "" );
printf( "%3s", isdigit( ch ) ? "D" : "" );
printf( "%3s", isgraph( ch ) ? "G" : "" );
printf( "%3s", islower( ch ) ? "L" : "" );
printf( "%3s", ispunct( ch ) ? "PU" : "" );
printf( "%3s", isspace( ch ) ? "S" : "" );
printf( "%3s", isprint( ch ) ? "PR" : "" );
printf( "%3s", isupper( ch ) ? "U" : "" );
printf( "%3s", isxdigit( ch ) ? "X" : "" );
printf( ".\n" );
}
}
Hasil
00 AS C .
01 AS C .
02 AS C .
03 AS C .
04 AS C .
05 AS C .
06 AS C .
07 AS C .
08 AS C .
09 AS C S .
0a AS C S .
0b AS C S .
0c AS C S .
0d AS C S .
0e AS C .
0f AS C .
10 AS C .
11 AS C .
12 AS C .
13 AS C .
14 AS C .
15 AS C .
16 AS C .
17 AS C .
18 AS C .
19 AS C .
1a AS C .
1b AS C .
1c AS C .
1d AS C .
1e AS C .
1f AS C .
20 AS S PR .
21 ! AS G PU PR .
22 " AS G PU PR .
23 # AS G PU PR .
24 $ AS G PU PR .
25 % AS G PU PR .
26 & AS G PU PR .
27 ' AS G PU PR .
28 ( AS G PU PR .
29 ) AS G PU PR .
2a * AS G PU PR .
2b + AS G PU PR .
2c , AS G PU PR .
2d - AS G PU PR .
2e . AS G PU PR .
2f / AS G PU PR .
30 0 AN AS CS D G PR X.
31 1 AN AS CS D G PR X.
32 2 AN AS CS D G PR X.
33 3 AN AS CS D G PR X.
34 4 AN AS CS D G PR X.
35 5 AN AS CS D G PR X.
36 6 AN AS CS D G PR X.
37 7 AN AS CS D G PR X.
38 8 AN AS CS D G PR X.
39 9 AN AS CS D G PR X.
3a : AS G PU PR .
3b ; AS G PU PR .
3c < AS G PU PR .
3d = AS G PU PR .
3e > AS G PU PR .
3f ? AS G PU PR .
40 @ AS G PU PR .
41 A AN A AS CS CSF G PR U X.
42 B AN A AS CS CSF G PR U X.
43 C AN A AS CS CSF G PR U X.
44 D AN A AS CS CSF G PR U X.
45 E AN A AS CS CSF G PR U X.
46 F AN A AS CS CSF G PR U X.
47 G AN A AS CS CSF G PR U .
48 H AN A AS CS CSF G PR U .
49 I AN A AS CS CSF G PR U .
4a J AN A AS CS CSF G PR U .
4b K AN A AS CS CSF G PR U .
4c L AN A AS CS CSF G PR U .
4d M AN A AS CS CSF G PR U .
4e N AN A AS CS CSF G PR U .
4f O AN A AS CS CSF G PR U .
50 P AN A AS CS CSF G PR U .
51 Q AN A AS CS CSF G PR U .
52 R AN A AS CS CSF G PR U .
53 S AN A AS CS CSF G PR U .
54 T AN A AS CS CSF G PR U .
55 U AN A AS CS CSF G PR U .
56 V AN A AS CS CSF G PR U .
57 W AN A AS CS CSF G PR U .
58 X AN A AS CS CSF G PR U .
59 Y AN A AS CS CSF G PR U .
5a Z AN A AS CS CSF G PR U .
5b [ AS G PU PR .
5c \ AS G PU PR .
5d ] AS G PU PR .
5e ^ AS G PU PR .
5f _ AS CS CSF G PU PR .
60 ` AS G PU PR .
61 a AN A AS CS CSF G L PR X.
62 b AN A AS CS CSF G L PR X.
63 c AN A AS CS CSF G L PR X.
64 d AN A AS CS CSF G L PR X.
65 e AN A AS CS CSF G L PR X.
66 f AN A AS CS CSF G L PR X.
67 g AN A AS CS CSF G L PR .
68 h AN A AS CS CSF G L PR .
69 i AN A AS CS CSF G L PR .
6a j AN A AS CS CSF G L PR .
6b k AN A AS CS CSF G L PR .
6c l AN A AS CS CSF G L PR .
6d m AN A AS CS CSF G L PR .
6e n AN A AS CS CSF G L PR .
6f o AN A AS CS CSF G L PR .
70 p AN A AS CS CSF G L PR .
71 q AN A AS CS CSF G L PR .
72 r AN A AS CS CSF G L PR .
73 s AN A AS CS CSF G L PR .
74 t AN A AS CS CSF G L PR .
75 u AN A AS CS CSF G L PR .
76 v AN A AS CS CSF G L PR .
77 w AN A AS CS CSF G L PR .
78 x AN A AS CS CSF G L PR .
79 y AN A AS CS CSF G L PR .
7a z AN A AS CS CSF G L PR .
7b { AS G PU PR .
7c | AS G PU PR .
7d } AS G PU PR .
7e ~ AS G PU PR .
7f AS C .
Baca juga
Klasifikasi karakter
Lokal
setlocale
, _wsetlocale
Interpretasi urutan karakter multibyte
to
Fungsi
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