8.5 字元的分類與 cctype 函式
競程題目整天在問:「這個字元是不是數字?」「是不是大寫字母?」你已經會手寫判斷:
if (c >= '0' && c <= '9') { ... } // c 是數字字元
這寫法完全正確,也永遠值得會。不過 <cctype> 函式庫早就幫你把常用判斷都包好了——名字還取得一目瞭然:
| 函式 | 判斷「c 是不是…」 | 等價的手寫範圍 |
|---|---|---|
isdigit(c) |
數字字元 | '0' <= c && c <= '9' |
isupper(c) |
大寫字母 | 'A' <= c && c <= 'Z' |
islower(c) |
小寫字母 | 'a' <= c && c <= 'z' |
isalpha(c) |
字母(大寫或小寫) | isupper(c) || islower(c) |