当前位置: C语言 -- 标准库 -- <ctype.h>

<ctype.h>头文件

<ctype.h>头文件声明了多个用于字符分类和字符映射的函数。在这些函数中,参数均为一个int类型整数,其值可用unsigned char类型表示或者等于宏EOF。如果参数具有其它值,函数行为是未定义的。<ctype.h>头文件中声明的函数会受当前语言环境的影响。“C”语言环境是所有C程序默认的语言环境。

术语打印字符(printing character)是指特定语言环境中在显示设备上占据一个打印位置的字符集成员。术语控制字符(control character)是指特定语言环境中除打印字符外的其它字符集成员。所有字母和数字都是打印字符。

注:在7位US ASCII字符集中,打印字符值从0x20到0x7E;控制字符值从0x00到0x1F,以及0x7F。


<ctype.h>头文件中声明的函数具体如下:

函数(function):
字符分类函数:
isalnum 检查字符是否为字母或者十进制数字字符的函数。
isalpha 检查字符是否为字母的函数。
isblank 检查字符是否为空白字符的函数。
iscntrl 检查字符是否为控制字符的函数。
isdigit 检查字符是否为十进制数字字符的函数。
isgraph 检查字符是否为打印字符(空格符' '除外)的函数。
islower 检查字符是否为小写字母的函数。
isprint 检查字符是否为打印字符(包括空格符' ')的函数。
ispunct 检查字符是否为标点符号的函数。
isspace 检查字符是否为空格字符的函数。
isupper 检查字符是否为大写字母的函数。
isxdigit 检查字符是否为十六进制数字字符的函数。
字符大小写映射函数:
tolower 将大写字母转换成小写字母的函数。
toupper 将小写字母转换成大写字母的函数。

ASCII字符集中字符对应的字符分类函数的返回值具体如下所示(注: √表示返回值为非0值(即true)。):

ASCII值 isalnum isalpha isblank iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit
0x00
...
0x08

√
0x09 √ √ √
0x0A
...
0x0D

√

√
0x0E
...
0x1F

√
0x20 √ √ √
0x21
...
0x2F

√

√

√
0x30
...
0x39

√

√

√

√

√
0x3A
...
0x40

√

√

√
0x41
...
0x46

√

√

√

√

√

√
0x47
...
0x5A

√

√

√

√

√
0x5B
...
0x60

√

√

√
0x61
...
0x66

√

√

√

√

√

√
0x67
...
0x7A

√

√

√

√

√
0x7B
...
0x7E

√

√

√
0x7F √