isalnum(c) { return isalpha(c) || isdigit(c); } iscntrl(c) { return c < ' ' || c == 127; } isgraph(c) { return c > ' ' && c <= '~'; } isprint(c) { return c >= ' ' && c <= '~'; } ispunct(c) { return isgraph(c) && !isalnum(c); } isxdigit(c) { c = toupper(c); return isdigit(c) || c >= 'A' && c <= 'F'; }