参考

  • cctype头文件

包含的函数

字符处理函数
函数 说明
isupper(char) 如果参数是大写字母,函数返回true
islower(char) 如果参数是小写字母,函数返回true
isalpha(char) 如果参数是字母,函数返回true
isdigit(char) 如果参数是数字(0-9),函数返回true
isalnum(char) 如果参数是字母数字,即字母或者数字,函数返回true
isspace(char) 如果参数是标准空白字符,如空格、换行符、水平或垂直制表符,函数返回true
isblank(char) 如果参数是空格,则返回true
ispunct(char) 如果参数是标点符号,函数返回true
isprint(char) 如果参数是打印字符(包括空格),函数返回true
iscntrl(char) 如果参数是控制字符,函数返回true
isgraph(char) 如果参数是除空格之外的打印字符,函数返回true
tolower(char) 如果参数是大写字符,返回其小写,否则返回该参数
toupper(char) 如果参数是小写字符,返回其大写,否则返回该参数

尝试输出一下代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
#include<cctype>

int main(){
unsigned char c = '\0';

for (; c <= 127; c++){
std::cout << "ASCII为 " << (int)c << " 的字符为 ";
if (iscntrl(c)){ //判断是否为控制字符
std::cout << (iscntrl(c) ? "控制字符 " : "");
std::cout << (isspace(c) ? "标准空白字符,如空格、换行符、水平或垂直制表符" : "");
//std::cout << (isblank(c) ? "空格": "");
}else{ //非控制字符
std::cout << c << " ";
std::cout << (isprint(c) ? "打印字符(包括空格) " : "");
std::cout << (isgraph(c) ? "除空格之外的打印字符 " : "");
std::cout << (isalnum(c) ? "字母数字 " : "");
std::cout << (isalpha(c) ? "字母 " : "");
std::cout << (islower(c) ? "小写字母 " : "");
std::cout << (isupper(c) ? "大写字母 " : "");
std::cout << (isdigit(c) ? "数字(0-9) " : "");
std::cout << (isxdigit(c) ? "十六进制数字(0-9,A-F,a-f) " : "");
std::cout << (ispunct(c) ? "标点符号 " : "");
}
std::cout << std::endl;
}

return 0;
}

我们可以在编译器自己尝试一下,基本概念对与ASCII码来说,小写a-z和大写A-Z和数字0-9我们是尽量记住范围会比较好
绝大部分看情况用得到在百度下就行了。