【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编译器使用逗号以相同的方式输出浮点数)

【注意】字符映射函数不会修改原始的参数,这些函数只会返回已经修改的值,



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。