ctype.h系列的字符函数:
ANSI C有一系列标准的函数可以用来分析字符;ctype.h 头文件包含了这些函数的原型。这些函数接受一个字符作为参数,如果该字符属于某特定的种类则返回非零值(真),否则返回零(假)。例如,如果isalpha()函数的参数是个字母,则返回一个非零值。
表一:ctype.h头文件中的字符测试函数
函数名 |
如果是下列函数时,返回值为真 |
isalnum() |
字母或数字 |
isalpha() |
字母 |
isblank() |
标准的空白字符(空格、水平制表符或者换行)或者任何其他本地化指定为空白符的字符 |
iscntrl() |
控制字符,如ctrl+B |
isdigit() |
数字 |
isgraph() |
除空格之外的任意可打印字符 |
islower() |
小写字母 |
isprint() |
可打印字符 |
ispunct() |
标点符号(除空格或字母数字字符以外的任何可打印字符) |
isspace() |
空白字符 |
isupper() |
大写字母 |
isxdigit |
十六进制数字符 |
表二: ctype.h头文件中的字符映射函数
函数名 |
行为 |
tolower() |
如果参数是大写字符,该函数返回小写字符;否则,返回原始参数 |
toupper() |
如果参数是小写字符,该函数返回大写写字符;否则,返回原始参数 |
大家的英语可以的话很发现这里的每一个函数的命名都是用英文,这里给大家注释一下不常见的英文解释:
1. alphabet 字母表
2. digit 数字
3. punctuation 标点符号
示例:
#include<stdio.h>
#include<ctype.h>
int main(void)
{
char ch;
while((ch = getchar()) != '\n')
{
if(isalpha(ch))
putchar(ch+1);
else
putchar(ch);
}
putchar(ch);
return 0;
}
输入:Look! It's a programmer!