c++中头文件为<cctype> ,c中则是<ctype.h>。
这些函数以一个数值或者字符作为参数并返回布尔值true或flase,或者是字符,具体因函数不同
判断函数
它们检查输入参数是否属于某个类别:
- isalnum
- 如果参数是字母数字,即字母或数字,该函数返回true
- isalpha
- 如果参数是字母,该函数返回真
- 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 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.