这个头文件声明了一组函数,用于对 单个字符进行分类和转换。
ctype.h中库函数的功能
这些函数以一个字符的int(整数)等价作为参数,并返回一个int(整数),可以是另一个字符或表示布尔值的值:整数值为0表示false,不为0的整数值表示true。
有两组函数:
1.字符分类函数:
它们检查传递的字符参数是否属于某个特定类别:
isalnum(int c):检查字符c是否是字母数字字符。如果c是一个字母(大写或小写)或一个十进制数字(0-9),则返回非零值;否则返回0。isalpha(int c):检查字符c是否是字母字符。如果c是一个字母(大写或小写),则返回非零值;否则返回0。isblank(int c):检查字符c是否为空白字符。如果c是空格或制表符,则返回非零值;否则返回0。iscntrl(int c):检查字符c是否是控制字符。如果c是一个控制字符(ASCII码0-31或127),则返回非零值;否则返回0。isdigit(int c):检查字符c是否是十进制数字字符。如果c是一个数字(0-9),则返回非零值;否则返回0。isgraph(int c):检查字符c是否有图形表示。如果c是可打印字符,并且不是空格,则返回非零值;否则返回0。islower(int c):检查字符c是否是小写字母。如果c是一个小写字母,则返回非零值;否则返回0。isprint(int c):检查字符c是否是可打印字符。如果c是可打印字符(包括空格),则返回非零值;否则返回0。ispunct(int c):检查字符c是否是标点符号字符。如果c是标点符号字符(不是字母、数字或空格),则返回非零值;否则返回0。isspace(int c):检查字符c是否是空白字符。如果c是空格、制表符、换行符、回车符、换页符或垂直制表符中的任何一个,则返回非零值;否则返回0。isupper(int c):检查字符c是否是大写字母。如果c是一个大写字母,则返回非零值;否则返回0。isxdigit(int c):检查字符c是否是十六进制数字字符。如果c是一个十六进制数字(0-9、A-F或a-f),则返回非零值;否则返回0。
对于由上所述的库函数:以下是每个函数如何判断原始的127个字符ASCII集合的映射表(x表示该函数在该字符上返回
true)

举例
#include <stdio.h>
#include <ctype.h>
int main ()
{
int i;
char str[]="c3po...";
i=0;
while (isalnum(str[i])) i++;
printf ("The first %d characters are alphanumeric.\n",i);
return 0;
}

2.字符转换函数
tolower(int c):函数的功能是将大写字母转换为小写字母,其参数为一个表示待转换的字符的整数值(int)。函数返回对应的小写字母。toupper(int c):函数的功能是将小写字母转换为大写字母,其参数也为一个表示待转换的字符的整数值(int)。函数返回对应的大写字母。
举例
#include <stdio.h>
#include <ctype.h>
int main ()
{
int i=0;
char str[]="Test String.\n";
char c;
while (str[i])
{
c=str[i];
putchar (tolower(c));
i++;
}
return 0;
}

本文详细介绍了C语言标准库ctype.h中的字符分类函数(如isalnum,isalpha等)和字符转换函数(tolower,toupper),以及它们在ASCII字符集上的应用实例。
1481

被折叠的 条评论
为什么被折叠?



