字符分类函数
函数 | 如果他的参数符合下列条件就返回真 |
---|---|
iscntrl | 任何控制字符 |
isspace | 空白字符:空格’‘,换页\f’,换行’\n’,回车1\r’,制表符’\t’或者垂直制表符’\v’ |
isdigit | 十进制数字0~9 |
isxdigit | 十六进制数字,包括所有十进制数字,小写字母a ~ f,大写字母A ~ F |
islower | 小写字母a~z |
isupper | 大写字母A~Z |
isalpha | 字母a ~ z或A ~ Z |
isalnum | 字母或者数字,a ~ z,A ~ Z,0 ~ 9 |
ispunct | 标点符号,任何不属于数字或者字母的图形字符(可打印) |
isgraph | 任何图形字符 |
isprint | 任何可打印字符,包括图形字符和空白字符 |
上诉函数的使用基本一致,如果判断条件为真,返回非0值,如果条件为假,返回0
字符转换:
#include <ctype.h>
转小写:int tolower ( int c );
转大写:int toupper ( int c );
char arr[20] = {0};
scanf("%s", arr);
int i = 0;
while (arr[i] != '\0')
{
if (islower(arr[i]) == 0) //判断是否是小写,islower返回值等于0则不是小写
{
arr[i] = tolower(arr[i]); //不是小写字符则转为小写
}
printf("%c ", arr[i]);
i++;
}