【C语言标准库】ctype整理

【C语言标准库】ctype整理,第1张

【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-7Aisalpha字母65-90, 97-12241-5A, 61-7Aisupper大写字母65-9041-5Aislower小写字母97-12261-7Aiscntrl控制字符0-31,12700-1F, 7Fisdigit十进制数字48-5730-39isxdigit十六进制数字48-57, 48-53, 97-10230-39,41-46, 61-66isgraph图形字符33-12621-7Eisprint可打印32-12620-7Eispunct标点符号33-47, 58-64
91-96, 123-12621-2F, 3A-40
5B-60, 7B-7Eisspace空白字符9-13,3209-0D, 20

这些函数之间可由下图表示

此外,ctype中还封装了两个大小写转换的函数:int tolower(int c)和int toupper(int c),这两个函数很容易实现,只要看一下十六进制下的ASCII即可发现。

前32个字符为控制符

0123456789ABCDEF0NULSOHSTXETXEOTENQACKBELBSHTLFVTFFCRSOSI1DLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUS

32-126为可打印字符,其中20为空格,即大小写字母正好差了0x20。

0123456789ABCDEF2!"#$%&’()*+,-./30123456789:;<=>?4@ABCDEFGHIJKLMNO5PQRSTUVWXYZ[]^_6`abcdefghijklmno7pqrstuvwxyz{|}~DEL

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4994895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存