【C语言小知识】ctype.h系列的字符函数

ctype.h系列的字符函数


链接: ctype.h

在代码中,本意是将字符转换,但过程中标点也会被转换,这是因为对应的ASCII码会被相对应的转换,如果程序值转换字母,保留所有的非字母字符(不是空格会更好)。

C语言中有一系列专门处理字符的函数,ctype.h头文件包含了这些函数的原型。

这些函数接受一个字符作为参数,如果该字符属于某特殊的类别,就返回一个非零值(真);否则,返回0(假)。

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

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

  • 44
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 44
    评论
评论 44
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值