日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype

發布時間:2023/12/20 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

/** linux/lib/ctype.c** Copyright (C) 1991, 1992 Linus Torvalds*/#include <linux/ctype.h>char _ctmp; //設定ASCII碼對應的值! unsigned char _ctype[] = {0x00, /* EOF */ _C,_C,_C,_C,_C,_C,_C,_C, /* 0-7 */ _C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C, /* 8-15 */ _C,_C,_C,_C,_C,_C,_C,_C, /* 16-23 */ _C,_C,_C,_C,_C,_C,_C,_C, /* 24-31 */ _S|_SP,_P,_P,_P,_P,_P,_P,_P, /* 32-39 */ _P,_P,_P,_P,_P,_P,_P,_P, /* 40-47 */ _D,_D,_D,_D,_D,_D,_D,_D, /* 48-55 */ _D,_D,_P,_P,_P,_P,_P,_P, /* 56-63 */ _P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U, /* 64-71 */ _U,_U,_U,_U,_U,_U,_U,_U, /* 72-79 */ _U,_U,_U,_U,_U,_U,_U,_U, /* 80-87 */ _U,_U,_U,_P,_P,_P,_P,_P, /* 88-95 */ _P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L, /* 96-103 */ _L,_L,_L,_L,_L,_L,_L,_L, /* 104-111 */ _L,_L,_L,_L,_L,_L,_L,_L, /* 112-119 */ _L,_L,_L,_P,_P,_P,_P,_C, /* 120-127 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 128-143 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 144-159 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 160-175 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 176-191 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 192-207 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 208-223 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 224-239 */ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* 240-255 */


?

?

總結

以上是生活随笔為你收集整理的ctype.h,ctype.c 结构分析 \linux-1.0\linux\include\linux\ctype的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。