阅读:0
作者:严长生
<ctype.h>头文件详解
<ctype.h> 是一个与字符处理有关的头文件,它包含了一系列用于检测和转换单个字符的函数。
<ctype.h> 中的函数都只有一个参数,就是要检测或者要转换的字符,并且这个参数的类型是 int,它可以表示一个有效字符,或者一个
<ctype.h> 中的函数的返回值也都是 int 类型,它可以表示一个有效字符,或者一个
<ctype.h> 包含了两种类型的函数:
对于字符分类函数,下表列出了标准 ASCII 编码中的 128 个字符是否属于某个特定的分类。
<ctype.h> 中的函数都只有一个参数,就是要检测或者要转换的字符,并且这个参数的类型是 int,它可以表示一个有效字符,或者一个
EOF
(无效字符)。<ctype.h> 中的函数的返回值也都是 int 类型,它可以表示一个有效字符,或者一个
EOF
(无效字符),或者一个布尔值(0 值表示“假”,非 0 值表示“真”)。<ctype.h> 包含了两种类型的函数:
- 一种是字符分类函数,这些函数用来检测由参数传入的字符是否属于某个特定的分类。
- 一种是字符转换函数,这些函数用来对大写字母和小写字母进行转换。
isalnum() | 判断一个字符是否是字母或数字 |
isalpha() | 判断一个字符是否是字母 |
isblank() | 判断一个字符是否是空白符 |
iscntrl() | 判断一个字符是否是控制字符 |
isdigit() | 判断一个字符是否是十进制数字 |
isgraph() | 判断一个字符是否带有图形 |
islower() | 判断一个字符是否是小写字母 |
isprint() | 判断一个字符是否是可打印字符 |
ispunct() | 判断一个字符是否是标点符号 |
isspace() | 判断一个字符是否是空白符 |
isupper() | 判断一个字符是否是大写字母 |
isxdigit() | 判断一个字符是否是十六进制数字 |
tolower() | 将大写字母转换为小写字母 |
toupper() | 将小写字母转换为大写字母 |
对于字符分类函数,下表列出了标准 ASCII 编码中的 128 个字符是否属于某个特定的分类。
√
表示该字符属于当前分类(函数返回“真”,也即非零值)。ASCII码 | 字符 | iscntrl() | isblank() | isspace() | isupper() | islower() | isalpha() | isdigit() | isxdigit() | isalnum() | ispunct() | isgraph() | isprint() |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 ... 0x08 | NUL 以及其它控制字符 | √ | |||||||||||
0x09 |
水平制表符'\t' |
√ | √ | √ | |||||||||
0x0A ... 0x0D | 具有空白效果的控制字符:'\f','\v','\n','\r' | √ | √ | ||||||||||
0x0E ... 0x1F | 其它控制字符 | √ | |||||||||||
0x20 |
空格' ' |
√ | √ | √ | |||||||||
0x21 ... 0x2F | ! " # $ % & ' ( ) * + , - . / | √ | √ | √ | |||||||||
0x30 ... 0x39 | 0 1 2 3 4 5 6 7 8 9 | √ | √ | √ | √ | √ | |||||||
0x3a ... 0x40 | : ; < = > ? @ | √ | √ | √ | |||||||||
0x41 ... 0x46 | ABCDEF | √ | √ | √ | √ | √ | √ | ||||||
0x47 ... 0x5A | GHIJKLMNOPQRSTUVWXYZ | √ | √ | √ | √ | √ | |||||||
0x5B ... 0x60 | [ \ ] ^ _ ` | √ | √ | √ | |||||||||
0x61 ... 0x66 | abcdef | √ | √ | √ | √ | √ | √ | ||||||
0x67 ... 0x7A | ghijklmnopqrstuvwxyz | √ | √ | √ | √ | √ | |||||||
0x7B ... 0x7E | { | } ~ | √ | √ | √ | |||||||||
0x7F | 删除(DEL) | √ |