C语言手册
第12章字符处理函数
字符处理有两类函数:分类与转换。每个字符分类函数的名称以is开头,返回int类型的
呈,在参数为指定类时为非。值(真),否则为0(假)。每个字符转换函数的名称以t0开头,返回
nt类型的值,表示一个字符或EOF。标准C语言保留以i9和t0开头的名称,以便今后在库中增
日更多分类函数与转换函数。本章介绍的字符处理函数在库头文件ctype.h中声明。 C89增补l定义了对宽字符进行运算的分类与转换函数。这些函数的名称以i删与t洲开头,其余部
卜与相应的字符处理函数对应。宽字符分类函数接受wint..t类型参数,返回int类型的值。转换函数
:wint 型值之间映射。还有通用的分类函 与 和通用的转换函数啊ct跚与_t类 数wctrans isws=trans
Dwl.一crans,而扩展字符集可能使用特殊分类方法。这些函数都在头文件讯岫.h中定义。 负整数EOF不是实际字符的编码(宽字符用WEOF)。例如,fgetc(见15.6节)在到达文件 :尾时返回EOF,因为这时没有要读取的实际字符。但有些实现中类型char可能是带符号的,
1此出现非标准字符值时,EOF可能无法与实际字符区别开来(标准字符值总是非负值,即使类
!char是带符号的)。这里介绍的所有函数对表示为char和unsigned char的所有值以及 ,F值都能进行正确运算,但对其他整数值的运算未定义,除非特别说明。wchar t中WEOF的
:用与char类型中EOF的作用相同,但WEOF不能为负数。历司
标准c语言建立这些功能时考虑了需要支持多种区域设置的可能性,一般来说,它尽量不对
:符编码和“字母”之类的概念作任何假设。这些函数的传统C语言版本与标准c语言的“C” 域设置大致相同,但删除了其中与ASCII相关的部分(如isascii与toascii)。+
警告有些非标准C语言实现允许char类型为带符号类型,还支持unsigned char类型, 但字符处理函数无法正确处理所有Runsigned char类型表示的值。有时,这些函数甚 至无法正确处理所有用char类型表示的值,而只能处理“标准”字符值和EOF。 参考章节EOF ll.1;WEOF ll.1;宽字符2.1.4;wchar t ll.1;wint t ll.1
1.1 isalnum、isalpha、iscntrl、iswalnum、iswalpha、iswcntrl
语法概要
#include
int isalnum(int c)7
int isalpha(int c)7
int iscntrl(int c);
int isascii(int c);/★Common extension★/
#include
int iswalnum(wint—t c)j
int iswalpha(wint—t c);
int iswcntrl(wint t c);