香港星巴克杯子:ctype.h

来源:百度文库 编辑:偶看新闻 时间:2024/05/06 09:25:46


简介: 

头文件ctype.h声明了一组用于分类和转换单个字符的函数。所有的函数都接收一个int型的参数,并返回一个int——返回的int可能代表一个字符,也可能代表的是bool值(0为假,非0为真)。

你可能会有疑问,既然是字符操作,接受的参数为什么不用char,而用int? Good question,答案我也不确定……O_O 好吧,我们继续……

因为这些“函数”太过常用,且调用频繁,所以为了提高效率,这些“函数”是由一些宏实现的,通过查看源文件可以很容易发现这一点。还有一点需要了解的是,如果修改了区域设置(默认为“C”区域设置),这些函数的行为可能会略有不同,不过不用担心,现在只需要知道有这么一个概念,后面介绍区域设置(locale.h)会再详细讨论。它们可以分为两组。一组用来判断字符是否属于某个分类,包括:

名称签名描述isalnumint isalnum ( int c );数字或字母isalphaint isalpha ( int c );字母,或者那些实现定义的字符集中iscntrl,isdigit,ispunct,isspace判定都不为真的字符。在“C”区域设置里,isalpha只是isupper,islower返回真的字符iscntrlint iscntrl ( int c );控制字符,与isprint相反,即不可打印字符isdigitint isdigit ( int c );十进制数字字符isgraphint isgraph ( int c );除空格(' ')以外的其他可打印(isprint为true)字符islowerint islower ( int c );小写字母isprintint isprint ( int c );包括空格(' ')在内的打印字符ispunctint ispunct ( int c );除空格(' ')和isalnum判定为真的字符以外的所有打印字符isspaceint isspace ( int c );空白字符isupperint isupper ( int c );大写字母isxdigitint isxdigit ( int c );16进制数字字符

另外一组用来转换大小写,包括:

名称签名描述toupperint toupper ( int c );转换c为大写tolowerint tolower ( int c );转换c为小写