ctype.h bietet einige Funktionen, um characters entsprechend des ASCII-Codes ihrer Bedeutung zuzuordnen. Weiterhin sind zwei Funktionen enthalten, die Kleinbuchstaben in Großbuchstaben umwandeln, bzw. Großbuchstaben in Kleinbuchstaben.
| Funktion | Bedeutung |
|---|---|
| isalnum() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein Buchstabe oder eine Ziffer ist |
| isalpha() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein Buchstabe ist |
| iscntrl() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein Kontrollzeichen ist |
| isdigit() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein dezimale Ziffer (0-9) ist |
| isgraph() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein sichtbares (graphisches) Zeichen ist |
| islower() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein kleiner Buchstabe ist |
| isprint() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein druckbares Zeichen ist |
| ispunct() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein Satzzeichen (Punkt, Ausrufezeichen) ist |
| isspace() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein Whitespace ist |
| isupper() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen ein großer Buchstabe ist |
| isxdigit() | liefert einen Wert ungleich 0, wenn das übergebene Zeichen eine hexadezimale Ziffer ist (0-9, a-f, A-F) ist |
Die folgende Tabelle gibt eine Übersicht, wann die Funktionen 0 (✗) bzw. einen Wert ungleich Null (✔) liefern:
| ASCII Hex | ASCII Dez | AZeichen | iscntrl | isspace | isupper | islower | isalpha | isdigit | isxdigit | isalnum | ispunct | isgraph | isprint |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00-08 | 000-008 | NULL, weitere Kontrollzeichen | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
09-0D | 009-013 | Whitespace Kontrollzeichen: '\t','\f','\v','\n','\r') | ✔ | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
0E-1F | 014-031 | weitere Kontrollzeichen | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
20 | 032 | Leerzeichen (' ') | ✗ | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ |
21-2F | 033-047 | !„#$%&'()*+,-./ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ✔ |
30-39 | 048-057 | 01234567890 | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ✔ | ✗ | ✔ | ✔ |
3A-40 | 058-064 | :;⇔?@ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ✔ |
41-46 | 065-071 | ABCDEF | ✗ | ✗ | ✔ | ✗ | ✔ | ✗ | ✔ | ✔ | ✗ | ✔ | ✔ |
47-5A | 072-090 | GHIJKLMNOPQRSTUVWXYZ | ✗ | ✗ | ✔ | ✗ | ✔ | ✗ | ✗ | ✔ | ✗ | ✔ | ✔ |
5B-60 | 091-096 | [\]^_` | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ✔ |
61-66 | 097-102 | abcdef | ✗ | ✗ | ✗ | ✔ | ✔ | ✗ | ✔ | ✔ | ✗ | ✔ | ✔ |
67-7A | 103-122 | ghijklmnopqrstuvwxyz | ✗ | ✗ | ✗ | ✔ | ✔ | ✗ | ✗ | ✔ | ✗ | ✔ | ✔ |
7B-7E | 123-126 | {|}~ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✔ | ✔ | ✔ |
77 | 127 | (DEL) | ✔ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
Zeichenkodes überhalb des ASCII-Zeichensatzes (0x80 bis 0xFF) werden abhängig von Plattform und verwendeter Kodierung unterschiedlich kategorisiert.