ctype.h头文件详解

<ctype.h> 是一个与字符处理有关的头文件,它包含了一系列用于检测和转换单个字符的函数。

<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) √

扩展阅读

赞赏