cctype
是 C++ 标准库中的一个字符处理函数库,它提供了一系列用于字符分类和转换的函数。这些函数在 iostream
、fstream
、string
等头文件中都有定义。下面是一些常用 cctype
库函数的使用示例:
- 字符类型判断
isdigit
, isalpha
, isupper
, islower
, isspace
等函数可以用于判断字符的类型。
#include#include int main() { char ch = 'A'; if (isupper(ch)) { std::cout << ch << " 是大写字母" << std::endl; } else { std::cout << ch << " 不是大写字母" << std::endl; } return 0; }
- 字符转换
toupper
, tolower
函数可以用于将字符转换为大写或小写。
#include#include int main() { char ch = 'a'; if (isupper(ch)) { ch = tolower(ch); } else { ch = toupper(ch); } std::cout << ch << std::endl; // 输出 'a' 或 'A',取决于原始字符的大小写 return 0; }
- 字符串处理
对于字符串,cctype
库提供了一些批量处理函数,如 isalpha
, isdigit
, isspace
等的字符串版本 isalpha(const std::string& s)
, isdigit(const std::string& s)
, isspace(const std::string& s)
。
#include#include #include int main() { std::string str = "Hello, World!"; for (char ch : str) { if (isalpha(ch)) { std::cout << ch << " 是字母" << std::endl; } else if (isdigit(ch)) { std::cout << ch << " 是数字" << std::endl; } else if (isspace(ch)) { std::cout << ch << " 是空格" << std::endl; } } return 0; }
- 其他功能
cctype
库还提供了其他一些有用的函数,如 tolower(int ch)
(将整数转换为小写字符)、toupper(int ch)
(将整数转换为大写字符)、swapcase(int ch)
(切换字符的大小写)等。
注意:在使用这些函数时,请确保传入的参数是有效的字符或整数。对于非字母和非数字的字符,isdigit
, isalpha
等函数可能会产生未定义的行为。