ctype.h

The standard functions that work with characters are in the ctype.h interface.

man ctype

CTYPE(3C) Silicon Graphics CTYPE(3C) NAME isdigit, isxdigit, islower, isupper, isalpha, isalnum, isspace, iscntrl, ispunct, isprint, isgraph, isascii, tolower, toupper, toascii, _tolower, _toupper, setchrclass - character handling SYNOPSIS #include <ctype.h> int isdigit (int c); int isxdigit (int c); int islower (int c); int isupper (int c); int isalpha (int c); int isalnum (int c); int isspace (int c); int iscntrl (int c); int ispunct (int c); int isprint (int c); int isgraph (int c); int isascii (int c); int tolower (int c); int toupper (int c); int toascii (int c); int _tolower (int c); int _toupper (int c); int setchrclass (char *chrclass); DESCRIPTION The character classification macros listed below return nonzero for true, zero for false. isascii is defined on all integer values; the rest are defined on valid members of the character set and on the single value EOF [see stdio(3S)] (guaranteed not to be a character set member). isdigit tests for the digits 0 through 9. isxdigit tests for any character for which isdigit is true or for the letters a through f or A through F. islower tests for any lowercase letter as defined by the character set. isupper tests for any uppercase letter as defined by the character set. isalpha tests for any character for which islower or isupper is true and possibly any others as defined by the character set. isalnum tests for any character for which isalpha or isdigit is true. isspace tests for a space, horizontal-tab, carriage return, newline, vertical-tab, or form-feed. iscntrl tests for ``control characters'' as defined by the character set. ispunct tests for any character other than the ones for which isalnum, iscntrl, or isspace is true or space. isprint tests for a space or any character for which isalnum or ispunct is true or other ``printing character'' as defined by the character set. isgraph tests for any character for which isprint is true, except for space. isascii tests for an ASCII character (a non-negative number less than 0200.) The conversion functions and macros translate a character from lowercase (uppercase) to uppercase (lowercase). tolower if the character is one for which isupper is true and there a corresponding lowercase character, tolower returns the corresponding lowercase character. Otherwise, the character is returned unchanged. toupper if the character is one for which islower is true and there is a corresponding uppercase character, toupper returns the corresponding uppercase character. Otherwise, the character is returned unchanged. toascii turns off the bits that are not part of the ASCII character set. _tolower returns the lowercase representation of a character for which isupper is true, otherwise undefined. _toupper returns the uppercase representation of a character for which islower is true, otherwise undefined. The conversion macros have the same functionality of the functions on valid input, but the macros are faster because they do not do range checking. All the character classification macros and the conversion functions and macros do a table lookup. setchrclass initializes the table used by these functions and macros to a specific character classification set. setchrclass uses the value of its argument or the value of the environment variable CHRCLASS as the name of the datafile containing the information for the desired character set. These datafiles are searched for in the special directory /lib/chrclass. If chrclass is (char *)0, the value of the environment variable CHRCLASS is used. If CHRCLASS is not set or is undefined, the table retains its default value. The default value is the iso8859 character set unless the executable was compiled in a strict ANSI mode (-ansi or -ansiposix)), in which case the default character table is ascii. FILES /lib/chrclass - directory containing the datafiles for setchrclass SEE ALSO chrtbl(1M), stdio(3S), ascii(5), locale(3C), environ(5). DIAGNOSTICS If the argument to any of the character handling macros is not in the domain of the function, the result is undefined. If setchrclass does not successfully fill the table, the table will not change (initially ``ascii'') and -1 is returned. If everything works, setchrclass returns 0.