CTYPE(2)                                                 CTYPE(2)
     NAME
          isalpha, isupper, islower, isdigit, isxdigit, isalnum,
          isspace, ispunct, isprint, isgraph, iscntrl, isascii,
          toascii, _toupper, _tolower, toupper, tolower - ASCII
          character classification
     SYNOPSIS
          #include <u.h>
          #include <libc.h>
          #include <ctype.h>
          isalpha(c)                      isgraph(c)
          isupper(c)                      iscntrl(c)
          islower(c)                      isascii(c)
          isdigit(c)                      _toupper(c)
          isxdigit(c)                     _tolower(c)
          isalnum(c)                      toupper(c)
          isspace(c)                      tolower(c)
          ispunct(c)                      toascii(c)
    DESCRIiPsTpIrOiNnt(c)
         These macros classify ASCII-coded integer values by table
         lookup.  Each is a predicate returning nonzero for true,
         zero for false.  Isascii is defined on all integer values;
         the rest are defined only where isascii is true and on the
         single non-ASCII value EOF; see fopen(2).
         isalpha  c is a letter, a-z or A-Z
         isupper  c is an upper case letter, A-Z
         islower  c is a lower case letter, a-z
         isdigit  c is a digit, 0-9
         isxdigit c is a hexadecimal digit, 0-9 or a-f or A-F
         isalnum  c is an alphanumeric character, a-z or A-Z or 0-9
         isspace  c is a space, horizontal tab, newline, vertical
                  tab, formfeed, or carriage return (0x20, 0x9, 0xA,
    Page 1                       Plan 9             (printed 11/4/25)
    CTYPE(2)                                                 CTYPE(2)
                  0xB, 0xC, 0xD)
         ispunct  c is a punctuation character (one of !"#$%&'()*+,-
                  ./:;<=>?@[\]^_`{|}~)
         isprint  c is a printing character, 0x20 (space) through
                  0x7E (tilde)
         isgraph  c is a visible printing character, 0x21 (exclama-
                  tion) through 0x7E (tilde)
         iscntrl  c is a delete character, 0x7F, or ordinary control
                  character, 0x0 through 0x1F
         isascii  c is an ASCII character, 0x0 through 0x7F
         Toascii is not a classification macro; it converts its argu-
         ment to ASCII range by anding with 0x7F.
         If c is an upper case letter, tolower returns the lower case
         version of the character; otherwise it returns the original
         character.  Toupper is similar, returning the upper case
         version of a character or the original character.  Tolower
         and toupper are functions; _tolower and _toupper are corre-
         sponding macros which should only be used when it is known
         that the argument is upper case or lower case, respectively.
    SOURCE
         /sys/include/ctype.h        for the macros.
         /sys/src/libc/port/ctype.c  for the tables.
    SEE ALSO
         isalpharune(2)
    BUGS
         These macros are ASCII -centric.
    Page 2                       Plan 9             (printed 11/4/25)