0%

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

c++中头文件为 ,c中则是

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

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

判断函数

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

isalnum

如果参数是字母数字,即字母或数字,该函数返回true

isalpha

如果参数是字母,该函数返回真

isblank

如果参数是空格或水平制表符,该函数返回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 iscntrl isblank isspace isupper islower isalpha isdigit isxdigit isalnum ispunct isgraph isprint
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, isgraphisprint 函数返回true.

坚持原创技术分享,您的支持将鼓励我继续创作!