cctype (ctype.h)


Character handling functions

This header declares a set of functions to classify and transform individual characters.

All these functions take as parameter the int equivalent of one character and return an int, that can either be another character or a value representing a boolean value: an int value of 0 means false, and an int value different from 0 represents true.

There are two sets of functions:

First a set of classifying functions that check whether the character passed as parameter belongs to a certain category. These are:

And secondly, two functions to convert between letter cases:

For the first set, here is a map of how the original 127-character ASCII set is considered by each function (an x indicates that the function returns true on that character)

ASCII valuescharactersiscntrlisspaceisupperislowerisalphaisdigitisxdigitisalnumispunctisgraphisprint
0x00 .. 0x08NUL, (other control codes) x
0x09 .. 0x0D(white-space control codes: '\t','\f','\v','\n','\r') xx
0x0E .. 0x1F(other control codes) x
0x20space (' ') x x
0x21 .. 0x2F!"#$%&'()*+,-./ xxx
0x30 .. 0x3901234567890 xxx xx
0x3a .. 0x40:;<=>?@ xxx
0x41 .. 0x46ABCDEF x x xx xx
0x5B .. 0x60[\]^_` xxx
0x61 .. 0x66abcdef xx xx xx
0x67 .. 0x7Aghijklmnopqrstuvwxyz xx x xx
0x7B .. 0x7E{|}~ xxx
0x7F(DEL) x

The characters in the extended character set (above 0x7F) may belong to diverse categories depending on the locale and the platform. As a general rule, ispunct, isgraph and isprint return true on these for the standard C locale on most platforms supporting extended character sets.