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

avatar
作者
猴君
阅读量:0

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

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!