Bagikan melalui


is, isw rutinitas

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 desciswctype, 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