#include <cctype>#include <ctype.h>所有函式接受 int (實為 unsigned char 或 EOF),回傳 int (非零為真,零為假)。
| 函式 | 檢測條件 (真) |
|---|---|
isalnum(c) | 字母或數字 (A-Z, a-z, 0-9) |
isalpha(c) | 字母 (A-Z, a-z) |
isblank(c) | 空格 或 水平製表符 (\t) |
iscntrl(c) | 控制字元 (0-31, 127) |
isdigit(c) | 十進位數字 (0-9) |
isgraph(c) | 可列印非空白字元 (33-126) |
islower(c) | 小寫字母 (a-z) |
isprint(c) | 可列印字元 (含空格, 32-126) |
ispunct(c) | 標點符號 (非字母數字空白的可列印字元) |
isspace(c) | 標準空白字元 (空格, \f, \n, \r, \t, \v) |
isupper(c) | 大寫字母 (A-Z) |
isxdigit(c) | 十六進位數字 (0-9, a-f, A-F) |
| 函式 | 行為 |
|---|---|
tolower(c) | 大寫字母 → 小寫;其他字元原樣返回 |
toupper(c) | 小寫字母 → 大寫;其他字元原樣返回 |
tolower / toupper:大小寫不敏感比較、正規化。isupper / islower:字元型態判斷。isalnum / isalpha:驗證識別碼、關鍵字合法性。unsigned char 值 (0-255) 或 EOF。傳入負值 (如普通 char 可能為負) 為未定義行為。isalpha((unsigned char)ch)。setlocale(LC_CTYPE, ...) 影響,多位元組字元環境下需謹慎。isascii、toascii 等,不可移植。isalnum/isalpha/tolower/toupper 高頻組合,即能編寫健壯的字元處理程式碼。