阅读:0       作者:严长生

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

扩展阅读