5. ctype.h — 字符分类与转换
提供字符分类与转换,按功能分组说明。
头文件说明:
<ctype.h>只提供 ASCII 字符的分类与转换。5.3、5.4 中的宽字符分类与转换函数(iswalnum、iswdigit、towlower、wctrans等共 18 个)声明在<wctype.h>,使用时需要包含该头文件。
5.1 ASCII 字符分类
int isalnum(int c)
是否为字母或数字。
- 输入: c 字符
- 输出: int 非零表示是
int isalpha(int c)
是否为字母。
- 输入: c 字符
- 输出: int 非零表示是
int isdigit(int c)
是否为数字。
- 输入: c 字符
- 输出: int 非零表示是
int isxdigit(int c)
是否为十六进制数字。
- 输入: c 字符
- 输出: int 非零表示是
int isspace(int c)
是否为空白字符。
- 输入: c 字符
- 输出: int 非零表示是
int isblank(int c)
是否为空白(空格/制表符)
- 输入: c 字符
- 输出: int 非零表示是
int isprint(int c)
是否为可打印字符。
- 输入: c 字符
- 输出: int 非零表示是
int isgraph(int c)
是否为可见字符(非空格)
- 输入: c 字符
- 输出: int 非零表示是
int iscntrl(int c)
是否为控制字符。
- 输入: c 字符
- 输出: int 非零表示是
int ispunct(int c)
是否为标点符号。
- 输入: c 字符
- 输出: int 非零表示是
int islower(int c)
是否为小写字母。
- 输入: c 字符
- 输出: int 非零表示是
int isupper(int c)
是否为大写字母。
- 输入: c 字符
- 输出: int 非零表示是
5.2 字符转换
int tolower(int c)
转为小写。
- 输入: c 字符
- 输出: int 小写字符或原字符
int toupper(int c)
转为大写。
- 输入: c 字符
- 输出: int 大写字符或原字符
5.3 宽字符分类
int iswalnum(wint_t wc)
是否为字母或数字。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswalpha(wint_t wc)
是否为字母。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswdigit(wint_t wc)
是否为数字。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswxdigit(wint_t wc)
是否为十六进制数字。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswspace(wint_t wc)
是否为空白字符。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswblank(wint_t wc)
是否为空白。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswprint(wint_t wc)
是否为可打印字符。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswgraph(wint_t wc)
是否为可见字符。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswcntrl(wint_t wc)
是否为控制字符。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswpunct(wint_t wc)
是否为标点符号。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswlower(wint_t wc)
是否为小写字母。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswupper(wint_t wc)
是否为大写字母。
- 输入: wc 宽字符
- 输出: int 非零表示是
int iswctype(wint_t wc, wctype_t desc)
通用宽字符分类。
- 输入: wc 宽字符, desc 属性描述
- 输出: int 非零表示是
wctype_t wctype(const char *property)
获取宽字符分类描述。
- 输入: property 属性名("alnum"/"alpha" 等)
- 输出: wctype_t 分类描述
5.4 宽字符转换
wint_t towlower(wint_t wc)
转为小写。
- 输入: wc 宽字符
- 输出: wint_t 小写宽字符或原字符
wint_t towupper(wint_t wc)
转为大写。
- 输入: wc 宽字符
- 输出: wint_t 大写宽字符或原字符
wint_t towctrans(wint_t wc, wctrans_t desc)
通用宽字符转换。
- 输入: wc 宽字符, desc 转换描述
- 输出: wint_t 转换后宽字符
wctrans_t wctrans(const char *property)
获取宽字符转换描述。
- 输入: property 转换名("tolower"/"toupper")
- 输出: wctrans_t 转换描述