【C语言小知识】ctype.h系列的字符函数
大柏怎么被偷了 2024-07-13 08:35:03 阅读 85
ctype.h系列的字符函数
链接:
ctype.h
在代码中,本意是将字符转换,但过程中标点也会被转换,这是因为对应的ASCII码会被相对应的转换,如果程序值转换字母,保留所有的非字母字符(不是空格会更好)。
C语言中有一系列专门处理字符的函数,ctype.h头文件包含了这些函数的原型。
这些函数接受一个字符作为参数,如果该字符属于某特殊的类别,就返回一个非零值(真);否则,返回0(假)。
<code>#include<stdio.h>
#include<ctype.h>
int main()
{
char ch;
while ((ch = getchar()) != '\n')
{
//判断:如果是一个字符
if (isalpha)
{
putchar(ch + 1);
}
else
{
putchar(ch);
}
putchar(ch);
}
return 0;
}
以isalpha()函数举例,如果isalpha()函数的参数是一个字母,则返回一个非零值。
表1:ctype.h头文件中的字符测试函数
函数名 | 如果是下列参数时,返回值为真 |
---|---|
isalnum() | 字母数字(字母或者数字) |
isalpha() | 字母 |
isblank() | 标准的空白字符(空格、水平制表符或换行符)或任何其他本地化指定为空白的字符 |
iscntrl() | 控制字符,如Ctrl+B |
isdigit() | 数字 |
isgraph() | 除空格之外的任意可打印字符 |
islower() | 小写字符 |
isprint() | 可打印字符 |
ispunct() | 标点符号(除空格或字母数字字符以外的任何可打印字符) |
isspace() | 空白字符(空格、换行符、换页符、回车符、垂直制表符、水平制表符或者其他本地化定义的字符) |
isupper() | 大写字母 |
isxdigit() | 十六进制数字符 |
表2:ctype.h头文件中的字符映射函数
函数名 | 行为 |
---|---|
tolower() | 如果参数是大写字符,该函数返回小写字符;否则,返回原始参数 |
toupper() | 如果参数是小写字符,该函数返回大写字符,否则,返回原始参数 |
表1和表2列出了ctype.h头文件中的一些函数,有些函数设计本地化,指的是为适应特定区域的使用习惯修改或者扩展C基本用法的工具。(例如,许多国家在书写小数点时,用逗号代替点号,于是特殊的本地化可以指定C编译器使用逗号以相同的方式输出浮点数)
【注意】字符映射函数不会修改原始的参数,这些函数只会返回已经修改的值,
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。