home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / c / adev1120.lha / include / ctype.h next >
C/C++ Source or Header  |  1993-05-15  |  2KB  |  41 lines

  1. /* This header file defines the ASCII character test macros
  2.  *
  3.  *   isalnum(c)    non-zero if c is alphabetic or a decimal digit
  4.  *   isalpha(c)    non-zero if c is alphabetic
  5.  *   iscntrl(c)    non-zero if c is a control character
  6.  *   isdigit(c)    non-zero if c is a digit (0 to 9)
  7.  *   isgraph(c)    non-zero if c is graphic (excluding blank)
  8.  *   islower(c)    non-zero if c is lower case
  9.  *   isprint(c)    non-zero if c is printable (including blank)
  10.  *   ispunct(c)    non-zero if c is punctuation
  11.  *   isspace(c)    non-zero if c is white space
  12.  *   isupper(c)    non-zero if c is upper case
  13.  *   isxdigit(c)   non-zero if c is a hexadecimal digit (0 to 9, A to F, a to f)
  14.  */
  15.  
  16. #define _U 1          /* upper case flag */
  17. #define _L 2          /* lower case flag */
  18. #define _N 4          /* number flag */
  19. #define _S 8          /* space flag */
  20. #define _P 16         /* punctuation flag */
  21. #define _C 32         /* control character flag */
  22. #define _B 64         /* blank flag */
  23. #define _X 128        /* hexadecimal flag */
  24.  
  25. extern char _ctype[];   /* character type table */
  26.  
  27. #define isalnum(c)    (_ctype[c]&(_U|_L|_N))
  28. #define isalpha(c)    (_ctype[c]&(_U|_L))
  29. #define iscntrl(c)    (_ctype[c]&_C)
  30. #define isdigit(c)    (_ctype[c]&_N)
  31. #define isgraph(c)    (_ctype[c]&(_P|_U|_L|_N))
  32. #define islower(c)    (_ctype[c]&_L)
  33. #define isprint(c)    (_ctype[c]&(_P|_U|_L|_N|_B))
  34. #define ispunct(c)    (_ctype[c]&_P)
  35. #define isspace(c)    (_ctype[c]&_S)
  36. #define isupper(c)    (_ctype[c]&_U)
  37. #define isxdigit(c)    (_ctype[c]&_X)
  38.  
  39. #define toupper(c)    (islower(c)?((c)-('a'-'A')):(c))
  40. #define tolower(c)    (isupper(c)?((c)+('a'-'A')):(c))
  41.