c++中头文件为<cctype> ,c中则是<ctype.h>。
这些函数以一个数值或者字符作为参数并返回布尔值true或flase,或者是字符,具体因函数不同
这里面的函数可以分为两类:
判断函数
它们检查输入参数是否属于某个类别:
- isalnum
-
如果参数是字母数字,即字母或数字,该函数返回true
- isalpha
-
如果参数是字母,该函数返回真
-
如果参数是空格或水平制表符,该函数返回true
- iscntrl
-
如果参数是控制字符,该函数返回true
- isdigit
-
如果参数是数字(0~9),该函数返回true
- isgraph
-
如果参数是除空格之外的打印字符,该函数返回true
- islower
-
如果参数是小写字母,该函数返回true
- isprint
-
如果参数是打印字符(包括空格),该函数返回true
- ispunct
-
如果参数是标点符号,该函数返回true
-
isspace
-
如果参数是标准空白字符,如空格、进纸、换行符、回车、水平制表符
或者垂直制表符,该函数返回true
- isupper
-
如果参数是大写字母,该函数返回true
- isxdigit
-
如果参数是十六进制的数字,即0~9、a~f、A~F,该函数返回true
字符转换函数:
- tolower
-
如果参数是大写字符,则返回其小写,否则返回该参数
- toupper
-
如果参数是小写字母,则返回其大写,否则返回该参数
我们将ASCII值从0~127的字符通过第一个函数集的函数进行判断,返回值为true的用x标记,结果如下表:
ASCII values |
characters |
is
cntrl
|
is
blank
|
is
space
|
is
upper
|
is
lower
|
is
alpha
|
is
digit
|
is
xdigit
|
is
alnum
|
is
punct
|
is
graph
|
is
print
|
0x00 .. 0x08 |
NUL, (other control codes) |
x |
|
|
|
|
|
|
|
|
|
|
|
0x09 |
tab ('\t') |
x |
x |
x |
|
|
|
|
|
|
|
|
|
0x0A .. 0x0D |
(white-space control codes:'\f','\v','\n','\r') |
x |
|
x |
|
|
|
|
|
|
|
|
|
0x0E .. 0x1F |
(other control codes) |
x |
|
|
|
|
|
|
|
|
|
|
|
0x20 |
space (' ') |
|
x |
x |
|
|
|
|
|
|
|
|
x |
0x21 .. 0x2F |
!"#$%&'()*+,-./ |
|
|
|
|
|
|
|
|
|
x |
x |
x |
0x30 .. 0x39 |
0123456789 |
|
|
|
|
|
|
x |
x |
x |
|
x |
x |
0x3a .. 0x40 |
:;<=>?@ |
|
|
|
|
|
|
|
|
|
x |
x |
x |
0x41 .. 0x46 |
ABCDEF |
|
|
|
x |
|
x |
|
x |
x |
|
x |
x |
0x47 .. 0x5A |
GHIJKLMNOPQRSTUVWXYZ |
|
|
|
x |
|
x |
|
|
x |
|
x |
x |
0x5B .. 0x60 |
[\]^_` |
|
|
|
|
|
|
|
|
|
x |
x |
x |
0x61 .. 0x66 |
abcdef |
|
|
|
|
x |
x |
|
x |
x |
|
x |
x |
0x67 .. 0x7A |
ghijklmnopqrstuvwxyz |
|
|
|
|
x |
x |
|
|
x |
|
x |
x |
0x7B .. 0x7E |
{|}~ |
|
|
|
|
|
|
|
|
|
x |
x |
x |
0x7F |
(DEL) |
x |
|
|
|
|
|
|
|
|
|
|
|
扩展的ASCII字符集用上述函数的判断结果依赖于平台。一般来说,在许多支持扩展的ASCII字符集的平台下,标准C里面的ispunct, isgraph 和isprint 函数返回true.