1 CTYPE(3C) Standard C Library Functions CTYPE(3C)
2
3
4
5 NAME
6 ctype, isalpha, isalnum, isascii, isblank, iscntrl, isdigit, islower,
7 isprint, isspace, isupper, ispunct, isgraph, isxdigit, isalpha_l,
8 isalnum_l, isblank_l, iscntrl_l, isdigit_l, islower_l, isprint_l,
9 isspace_l, isupper_l, ispunct_l, isgraph_l, isxdigit_l - character
10 handling
11
12 SYNOPSIS
13 #include <ctype.h>
14
15 int isalpha(int c);
16
17 int isalnum(int c);
18
19 int isascii(int c);
20
21 int isblank(int c);
22
23 int iscntrl(int c);
24
25 int isdigit(int c);
26
27 int isgraph(int c);
28
29 int islower(int c);
30
31 int isprint(int c);
32
33 int ispunct(int c);
34
35 int isspace(int c);
36
37 int isupper(int c);
38
39 int isxdigit(int c);
40
41 int isalpha_l(int c, locale_t loc);
42
43 int isalnum_l(int c, locale_t loc);
44
45 int isblank_l(int c, locale_t loc);
46
47 int iscntrl_l(int c, locale_t loc);
48
49 int isdigit_l(int c, locale_t loc);
50
51 int isgraph_l(int c, locale_t loc);
52
53 int islower_l(int c, locale_t loc);
54
55 int isprint_l(int c, locale_t loc);
56
57 int ispunct_l(int c, locale_t loc);
58
59 int isspace_l(int c, locale_t loc);
60
61 int isupper_l(int c, locale_t loc);
62
63 int isxdigit_l(int c, locale_t loc);
64
65 DESCRIPTION
66 These functions classify character-coded integer values. Each is a
67 predicate returning non-zero for true, 0 for false. The behavior of
68 these macros, except isascii(), is affected by the current locale (see
69 setlocale(3C) and uselocale(3C)). To modify the behavior, change the
70 LC_TYPE category in setlocale(), that is, setlocale(LC_CTYPE,
71 newlocale). In the "C" locale, or in a locale where character type
72 information is not defined, characters are classified according to the
73 rules of the US-ASCII 7-bit coded character set.
74
75 The functions isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l,
76 isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(),
77 isspace_l(), isupper_l(), and isxdigit_l() all behave identically to
78 their counterparts without the '_l' prefix, except that instead of
79 acting on the current locale, they perform the test on the locale
80 specified in the argument loc.
81
82 The isascii() macro is defined on all integer values. The rest are
83 defined only where the argument is an int, the value of which is
84 representable as an unsigned char, or EOF, which is defined by the
85 <stdio.h> header and represents end-of-file.
86
87 isalpha()
88 Tests for any character for which isupper() or islower()
89 is true, or any character that is one of the current
90 locale-defined set of characters for which none of
91 iscntrl(), isdigit(), ispunct(), or isspace() is true. In
92 "C" locale, isalpha() returns true only for the characters
93 for which isupper() or islower() is true.
94
95
96 isalnum()
97 Tests for any character for which isalpha() or isdigit()
98 is true (letter or digit).
99
100
101 isascii()
102 Tests for any ASCII character, code between 0 and 0177
103 inclusive.
104
105
106 isblank()
107 Tests whether c is a character of class blank in the
108 current locale. This macro/function is not available to
109 applications conforming to standards prior to SUSv3. See
110 standards(5)
111
112
113 iscntrl()
114 Tests for any ``control character'' as defined by the
115 character set.
116
117
118 isdigit()
119 Tests for any decimal-digit character.
120
121
122 isgraph()
123 Tests for any character for which isalnum() and ispunct()
124 are true, or any character in the current locale-defined
125 "graph" class which is neither a space ("") nor a
126 character for which iscntrl() is true.
127
128
129 islower()
130 Tests for any character that is a lower-case letter or is
131 one of the current locale-defined set of characters for
132 which none of iscntrl(), isdigit(), ispunct(), isspace(),
133 or isupper() is true. In the "C" locale, islower()
134 returns true only for the characters defined as lower-case
135 ASCII characters.
136
137
138 isprint()
139 Tests for any character for which iscntrl() is false, and
140 isalnum(), isgraph(), ispunct(), the space character (""),
141 and the characters in the current locale-defined "print"
142 class are true.
143
144
145 ispunct()
146 Tests for any printing character which is neither a space
147 ("") nor a character for which isalnum() or iscntrl() is
148 true.
149
150
151 isspace()
152 Tests for any space, tab, carriage-return, newline,
153 vertical-tab or form-feed (standard white-space
154 characters) or for one of the current locale-defined set
155 of characters for which isalnum() is false. In the "C"
156 locale, isspace() returns true only for the standard
157 white-space characters.
158
159
160 isupper()
161 Tests for any character that is an upper-case letter or is
162 one of the current locale-defined set of characters for
163 which none of iscntrl(), isdigit(), ispunct(), isspace(),
164 or islower() is true. In the "C" locale, isupper()
165 returns true only for the characters defined as upper-case
166 ASCII characters.
167
168
169 isxdigit()
170 Tests for any hexadecimal-digit character ([0-9], [A-F],
171 or [a-f] or the current locale-defined sets of characters
172 representing the hexadecimal digits 10 to 15 inclusive).
173 In the "C" locale, only
174
175 0 1 2 3 4 5 6 7 8 9 A B C D E F a b c d e f
176
177 are included.
178
179
180 RETURN VALUES
181 If the argument to any of the character handling macros is not in the
182 domain of the function, the result is undefined. Otherwise, the macro
183 or function returns non-zero if the classification is TRUE and 0 if the
184 classification is FALSE.
185
186 ATTRIBUTES
187 See attributes(5) for descriptions of the following attributes:
188
189 +--------------------+-----------------+
190 | ATTRIBUTE TYPE | ATTRIBUTE VALUE |
191 +--------------------+-----------------+
192 |CSI | Enabled |
193 +--------------------+-----------------+
194 |Interface Stability | Standard |
195 +--------------------+-----------------+
196 |MT-Level | MT-Safe |
197 +--------------------+-----------------+
198
199 SEE ALSO
200 newlocale(3C), setlocale(3C), uselocale(3C), stdio(3C), ascii(5),
201 environ(5), standards(5)
202
203
204
205 August 20, 2019 CTYPE(3C)