头文件

<cctype> (ctype.h)

字符处理函数
此头文件声明了一组用于分类和转换单个字符的函数。

函数

这些函数接受一个字符的int等价值作为参数,并返回一个int值,该值可以代表另一个字符或一个布尔值:一个int值为0表示 false,而一个不等于int0值表示 true。

函数分为两组

字符分类函数

它们检查作为参数传递的字符是否属于某个特定类别


字符转换函数

两个用于转换字母大小写的函数

对于第一组函数,下表展示了最初的 127 个字符的 ASCII 集合是如何被每个函数处理的(x 表示函数对该字符返回 true)

ASCII 值字符iscntrlisblankisspaceisupperislowerisalphaisdigitisxdigitisalnumispunctisgraphisprint
0x00 .. 0x08NUL, (其他控制码) x
0x09制表符 ('\t') xxx
0x0A .. 0x0D(空白控制码'\f','\v','\n','\r') x x
0x0E .. 0x1F(其他控制码) x
0x20空格 (' ') xx x
0x21 .. 0x2F!"#$%&'()*+,-./ xxx
0x30 .. 0x390123456789 xxx xx
0x3a .. 0x40:;<=>?@ xxx
0x41 .. 0x46ABCDEF x x xx xx
0x47 .. 0x5AGHIJKLMNOPQRSTUVWXYZ x x x xx
0x5B .. 0x60[\]^_` xxx
0x61 .. 0x66abcdef xx xx xx
0x67 .. 0x7Aghijklmnopqrstuvwxyz xx x xx
0x7B .. 0x7E{|}~ xxx
0x7F(DEL) x

扩展字符集中的字符(大于 0x7F)可能属于不同的类别,具体取决于区域设置和平台。通常来说,在大多数支持扩展字符集的平台上,对于标准的 C 区域设置,ispunct, isgraphisprint 会对这些字符返回 true。