ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype
生活随笔
收集整理的這篇文章主要介紹了
ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
\linux-1.0\linux\include\linux\ctype.h
#ifndef _LINUX_CTYPE_H
#define _LINUX_CTYPE_H#define _U 0x01 /* upper */ //大寫字母
#define _L 0x02 /* lower */ //小寫字母
#define _D 0x04 /* digit */ //數字
#define _C 0x08 /* cntrl */ //控制按鍵
#define _P 0x10 /* punct */ //
#define _S 0x20 /* white space (space/lf/tab) */
#define _X 0x40 /* hex digit */ //十六進制數
#define _SP 0x80 /* hard space (0x20) */extern unsigned char _ctype[];
extern char _ctmp;//通過設定ascii表不同的位置為什么類型, 判斷時直接比較!速度很快!
#define isalnum(c) ((_ctype+1)[c]&(_U|_L|_D))
#define isalpha(c) ((_ctype+1)[c]&(_U|_L))
#define iscntrl(c) ((_ctype+1)[c]&(_C))
#define isdigit(c) ((_ctype+1)[c]&(_D))
#define isgraph(c) ((_ctype+1)[c]&(_P|_U|_L|_D))
#define islower(c) ((_ctype+1)[c]&(_L))
#define isprint(c) ((_ctype+1)[c]&(_P|_U|_L|_D|_SP))
#define ispunct(c) ((_ctype+1)[c]&(_P))
#define isspace(c) ((_ctype+1)[c]&(_S))
#define isupper(c) ((_ctype+1)[c]&(_U))
#define isxdigit(c) ((_ctype+1)[c]&(_D|_X))#define isascii(c) (((unsigned) c)<=0x7f)
#define toascii(c) (((unsigned) c)&0x7f)//2步宏,第1步賦值(防止傳入值被修改),第2步 做相應的操作!
#define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp)
#define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp)#endif
?\linux-1.0\linux\include\linux\ctype.c
?
?
總結
以上是生活随笔為你收集整理的ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [概率统计]商务与经济统计知识点总结 P
- 下一篇: linux 其他常用命令