镇楼图
Pixiv:にもし
这一次来简单看一下ctype.h模块,使用得当也能大幅简化我们的代码,而且在PTA里或许能够用到这个模块(啊!不对,头文件,又写顺了)。
这个模块主要作用为判断与处理空终止字节字符串。另外有一个特殊的函数只有C++11才有,虽然只有一个但不能破坏原则,在写C++11的头文件时会补充。
在C语言不断发展这个头文件有了什么变化?
·在C++时改名为cctype
·在C++11时新增了isblank函数
一、处理类
①tolower(C)
作用:将C转换为小写字母;若不能转换,不作任何变化返回ch
参数:ch为整型
char str[] = "Test STRING\n";
char c;
for(int i = 0;str[i];i++){
c = str[i];
putchar (tolower(c));
}
//当str到最后也就是'\0'的时候,'\0'对应的就是0,放在循环里也就是代表false
②toupper(ch)
作用:将C转换为大写字母;若不能转换,不作任何变化返回ch
参数:ch为整型
char str[] = "tEST string\n";
char c;
for(int i = 0;str[i];i++){
c = str[i];
putchar (toupper(c));
}
二、判断类
①isalnum(int ch)
作用:判断字符是否为数字、大写字母、小写字母。若是,返回非零的值;否则,返回0
参数:ch为整型
int flag = isalnum('3');
printf("%d",flag);
②isalpha(int ch)
作用:判断字符是否为大写字母、小写字母。若是,返回非零的值;否则,返回0
参数:ch为整型
③isupper(int ch)
作用:判断字符是否为大写字母。若是,返回非零的值;否则,返回0
参数:ch为整型
④islower(int ch)
作用:判断字符是否为小写字母。若是,返回非零的值;否则,返回0
参数:ch为整型
⑤isdigit(int ch)
作用:判断字符是否为数字。若是,返回非零的值;否则,返回0
参数:ch为整型
⑥iscntrl(int ch)
作用:判断字符是否为控制字符
。若是,返回非零的值;否则,返回0
参数:ch为整型
printf("%d",iscntrl('\n'));
⑦isgraph(int ch)
作用:判断字符是否为图形字符(数字、大写字母、小写字母、标点字符)。若是,返回非零的值;否则,返回0
参数:ch为整型
⑧isspace(int ch)
作用:判断字符是否为空白间隔符(空格' '、换页'\f'、换行'\n'、回车'\r'、水平制表'\t'、垂直制表'\v')。若是,返回非零的值;否则,返回0
参数:ch为整型
/*
值得一提的是C语言在处理你输入的代码时
会忽略空白间隔符
包括现在写的注释也会被处理成空格
⑨isprint(int ch)
作用:判断字符是否为可打印字符(数字、字母、标点符号、空格)。若是,返回非零的值;否则,返回0
参数:ch为整型
⑩ispunct(int ch)
作用:判断字符是否为标点符号。若是,返回非零的值;否则,返回0
参数:ch为整型