linux

xiaoxiao2021-02-27  424

#ifndef _CTYPE_H #define _CTYPE_H /*对应与ascii码表*/ #define _U 0x01 /*大写字母*/ #define _L 0x02 /*小写字幕*/ #define _D 0x04 /*数字[0-9]*/ #define _C 0x08 /*控制字符*/ #define _P 0x10 /*标点符号*/ #define _S 0x20 /*空白字符*/ #define _X 0x40 /*16进制数字*/ #define _SP 0x80 /*用于空格字符*/ extern unsigned char _ctype[]; /*字符特性数组*/ extern char _ctmp; /*临时变量*/ /*确定字符特性的宏定义*/ #define isalnum(c) ((_ctype+1)[c] & (_U|_L|_D)) /**/ /*是字符或数字[A-Z][a-z][0-9]*/ #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)) /*是空白字符如空格,\f \n \r \t \v */ #define isupper(c) ((_ctype+1)[c] & (_U)) /*是大写字符*/ #define isxdigit(c) ((_ctype+1)[c] & (_D|_X)) /*是16进制数字*/ /**/ #define isaxcii(c) (((unsigned) c)<=0x7f) /*判断是否是ascii码*/ #define toascii(c) (((unsigned)c)&0x7f) /*转换成ascii码*/ #define tolower(c) (_ctmp=c,isupper(_ctmp)?_ctmp-('A'-'a'):_ctmp) /*转换成小写字符*/ #define toupper(c) (_ctmp=c,islower(_ctmp)?_ctmp-('a'-'A'):_ctmp) /*转换成大写字符*/ #endif
转载请注明原文地址: https://www.6miu.com/read-830.html

最新回复(0)