【C
语言标准库】ctype整理
作为强类型语言,C语言自其诞生以来,就通过类型来为程序员们增加重重阻碍。为了避免各种麻烦,早在上古时期,C语言的程序员们就写了大量判别变量类型的代码段,这些代码段也很快就走进了C语言的标准库。
ctype中共有11个鉴别字符类型的函数,这些函数的输入输出均为int型,但又不完全是int型。输入的int是通过强转得到的;输出为0和1,即布尔型。
| 返回1的情况 | ASCII码位置 | 十六进制 |
---|
isalnum字母和数字48-57, 65-90, 97-12230-39, 41-5A, 61-7A
isalpha字母65-90, 97-12241-5A, 61-7A
isupper大写字母65-9041-5A
islower小写字母97-12261-7A
iscntrl控制字符0-31,12700-1F, 7F
isdigit十进制数字48-5730-39
isxdigit十六进制数字48-57, 48-53, 97-10230-39,41-46, 61-66
isgraph图形字符33-12621-7E
isprint可打印32-12620-7E
ispunct标点符号33-47, 58-64
91-96, 123-12621-2F, 3A-40
5B-60, 7B-7E
isspace空白字符9-13,3209-0D, 20
这些函数之间可由下图表示
此外,ctype中还封装了两个大小写转换的函数:int tolower(int c)和int toupper(int c),这两个函数很容易实现,只要看一下十六进制下的ASCII即可发现。
前32个字符为控制符
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|
0NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI
1DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS
32-126为可打印字符,其中20为空格,即大小写字母正好差了0x20。
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|
2!"#$%&’()*+,-./
30123456789:;<=>?
4@ABCDEFGHIJKLMNO
5PQRSTUVWXYZ[]^_
6`abcdefghijklmno
7pqrstuvwxyz{|}~DEL
评论列表(0条)