程序15-3 linux/lib/ctype.c


  1 /*

  2  *  linux/lib/ctype.c

  3  *

  4  *  (C) 1991  Linus Torvalds

  5  */

  6

  7 #include <ctype.h>        // 字符类型头文件。定义了一些有关字符类型判断和转换的宏。

  8

  9 char _ctmp;               // 一个临时字符变量,供ctype.h文件中转换字符宏函数使用。

    // 字符特性数组(),定义了各个字符对应的属性,这些属性类型(_C)ctype.h中定义。

    // 用于判断字符是控制字符(_C)、大写字符(_U)、小写字符(_L)等所属类型。

 10 unsigned char _ctype[] = {0x00,                 /* EOF */

 11 _C,_C,_C,_C,_C,_C,_C,_C,                        /* 0-7 */

 12 _C,_C|_S,_C|_S,_C|_S,_C|_S,_C|_S,_C,_C,         /* 8-15 */

 13 _C,_C,_C,_C,_C,_C,_C,_C,                        /* 16-23 */

 14 _C,_C,_C,_C,_C,_C,_C,_C,                        /* 24-31 */

 15 _S|_SP,_P,_P,_P,_P,_P,_P,_P,                    /* 32-39 */

 16 _P,_P,_P,_P,_P,_P,_P,_P,                        /* 40-47 */

 17 _D,_D,_D,_D,_D,_D,_D,_D,                        /* 48-55 */

 18 _D,_D,_P,_P,_P,_P,_P,_P,                        /* 56-63 */

 19 _P,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U|_X,_U,      /* 64-71 */

 20 _U,_U,_U,_U,_U,_U,_U,_U,                        /* 72-79 */

 21 _U,_U,_U,_U,_U,_U,_U,_U,                        /* 80-87 */

 22 _U,_U,_U,_P,_P,_P,_P,_P,                        /* 88-95 */

 23 _P,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L|_X,_L,      /* 96-103 */

 24 _L,_L,_L,_L,_L,_L,_L,_L,                        /* 104-111 */

 25 _L,_L,_L,_L,_L,_L,_L,_L,                        /* 112-119 */

 26 _L,_L,_L,_P,_P,_P,_P,_C,                        /* 120-127 */

 27 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 128-143 */

 28 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 144-159 */

 29 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 160-175 */

 30 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 176-191 */

 31 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 192-207 */

 32 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 208-223 */

 33 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,                /* 224-239 */

 34 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};               /* 240-255 */

 35

 36