<cctype> 头文件详解
<cctype> 是 C/C++ 中用于 字符分类 和 字符转换
的标准头文件,常用于处理单字节字符(如 ASCII)。
1. 字符分类函数
字母判断
isalpha(c):是否为字母\isupper(c):是否大写字母\islower(c):是否小写字母
数字判断
isdigit(c):是否数字 0–9
字母或数字
isalnum(c):是否字母或数字
空白字符
isspace(c):空格、换行、制表符等
控制字符
iscntrl(c):如换行、回车
标点
ispunct(c):标点符号
可打印字符
isprint(c):可打印(含空格)\isgraph(c):可打印(不含空格)
2. 字符转换函数
toupper(c):转大写\tolower(c):转小写
示例:
cout << (char)toupper('b'); // B
3. <cctype> 示例代码
#include <iostream>
#include <cctype>
using namespace std;
int main() {
char c = 'a';
if (isalpha(c)) {
cout << c << " 是字母\n";
cout << "大写是:" << (char)toupper(c) << endl;
}
char d = ' ';
if (isspace(d)) {
cout << "这是空白字符\n";
}
char e = '!';
if (ispunct(e)) {
cout << e << " 是标点\n";
}
return 0;
}
4. 使用注意事项
- 必须传入
unsigned char或 EOF,中文等负值字符可能导致未定义行为。 - 仅适用于单字节字符(ASCII),不支持 UTF‑8 中文字符。
5. <cctype> 速查表
分类 函数
字母 isalpha, isupper, islower
数字 isdigit
字母数字 isalnum
空白 isspace
控制字符 iscntrl
图形字符 isgraph
可打印 isprint
标点 ispunct
十六进制字符 isxdigit
大小写转换 toupper, tolower
总结
<cctype>用于判断字符类型与大小写转换\- 只能处理单字节字符\
- 文本处理常用且重要