【C/C++】cctype中的字符函数

c++中头文件为<cctype> ,c中则是<ctype.h>。

这些函数以一个数值或者字符作为参数并返回布尔值true或flase,或者是字符,具体因函数不同

这里面的函数可以分为两类:

判断函数

它们检查输入参数是否属于某个类别:

isalnum
如果参数是字母数字,即字母或数字,该函数返回true
isalpha
如果参数是字母,该函数返回真
如果参数是空格或水平制表符,该函数返回true
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

is

cntrl

is

blank

is

space

is

upper

is

lower

is

alpha

is

digit

is

xdigit

is

alnum

is

punct

is

graph

is

print

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里面的ispunctisgraph 和isprint 函数返回true.


上一篇:[js插件]学习Highcharts


下一篇:jdom学习读取XML文件