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