index.txt
CTYPE(2) System Calls Manual CTYPE(2) NAME isalpha, isupper, islower, isdigit, isxdigit, isalnum, isspace, is‐ punct, isprint, isgraph, iscntrl, isascii, toascii, _toupper, _tolower, toupper, tolower - ASCII character classification SYNOPSIS #include <u.h> #include <libc.h> #include <ctype.h> isalpha(c) isupper(c) islower(c) isdigit(c) isxdigit(c) isalnum(c) isspace(c) ispunct(c) isprint(c) isgraph(c) iscntrl(c) isascii(c) _toupper(c) _tolower(c) toupper(c) tolower(c) toascii(c) DESCRIPTION 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, 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 (exclamation) 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 argument 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 origi‐ nal character. Tolower and toupper are functions; _tolower and _toup‐ per are corresponding macros which should only be used when it is known that the argument is upper case or lower case, respectively. Alef These routines are not provided in Alef. SOURCE /sys/include/ctype.h for the macros. /sys/src/libc/port/ctype.c for the tables. BUGS These macros are ASCII-centric. CTYPE(2)