ctype , isalpha , isupper , islower , isdigit , isxdigit , isalnum , isspace ,is标点, isprint , isgraph , iscntrl 或 isascii 子例程
用途
对字符进行分类。
库
标准字符库 (libc.a)
语法
#include <ctype.h> int isalpha ( Character)
int Character;
int Character;
int isupper (Character)
int Character; int islower (Character)
int Character; int isdigit (Character)
int Character; int isxdigit (Character)
int Character; int isalnum (Character)
int Character; int isspace (Character)
int Character; int ispunct (Character)
int Character; int isprint (Character)
int Character; int isgraph (Character)
int Character; int iscntrl (Character)
int Character; int isascii (Character)
int Character;描述
ctype 子例程对表中指定的字符编码整数值进行分类。 其中每个子例程都将返回非零值 (对于 True) 和 0 (对于 False)。
注: ctype 子例程仅应用于可由单字节值 (0 到 255) 表示的字符数据。 尝试在多字节语言环境数据上使用 ctype 子例程可能会产生不一致的结果。 宽字符分类例程 (例如 iswprint, iswlower等) 应该用于处理多字节字符数据。
依赖于语言环境的字符测试
以下子例程根据当前语言环境的字符类定义返回非零 (True)。
| 项 | 描述 |
|---|---|
| isalnum | 对于 isalpha 或 isdigit 子例程将返回非零的任何字符,返回非零。 isalnum 子例程测试该字符是 alpha 还是 数字 类。 |
| isalpha | 对于 isupper 或 islower 子例程将返回非零的任何字符,返回非零值。 对于在当前语言环境中定义为字母字符的任何字符,或者对于 iscntrl, isdigit, is共标点或 isspace 子例程的 none 将返回非零的字符, isalpha 子例程也会返回非零。 isalpha 子例程测试该字符是否属于 alpha 类。 |
| isupper | 对于任何大写字母 [A 到 Z] ,返回非零值。 对于在当前语言环境中定义为大写的任何字符, isupper 子例程也返回非零。 isupper 子例程测试该字符是否为 upper 类。 |
| islower | 对于任何小写字母 [a 到 z] ,返回非零。 对于在当前语言环境中定义为小写的任何字符, islower 子例程也会返回非零值。 islower 子例程测试该字符是否属于 lower 类。 |
| isspace | 返回任何空格字符 (空格,换页符,换行符,回车符,水平制表符或垂直制表符) 的非零值。 isspace 子例程测试该字符是否属于 space 类。 |
| ispunct | 对于 isprint 子例程返回非零的任何字符,返回非零,但空格字符和 isalnum 子例程将返回非零的任何字符除外。 对于指定为标点字符的任何语言环境定义的字符, is标点 子例程也返回非零。 is标点 子例程测试该字符是否属于 标点 类。 |
| isprint | 返回任何打印字符的非零值。 对于指定为打印字符的任何语言环境定义的字符,返回非零值。 此例程测试该字符是否属于 print 类。 |
| isgraph | 对于 isprint 字符返回非零值 (空格字符除外) 的任何字符,返回非零值。 isgraph 子例程测试该字符是否属于 graph 类。 |
| iscntrl | 对于 isprint 子例程返回值为 False (0) 的任何字符以及在当前语言环境中指定为控制字符的任何字符,返回非零值。 对于 C 语言环境,控制字符是 ASCII 删除字符 (0127 或 0x7F) 或普通控制字符 (小于 040 或 0x20)。 iscntrl 子例程测试该字符是否属于 cntrl 类。 |
独立于语言环境的字符测试
对于相同的字符,无论语言环境如何,以下子例程都将返回非零值:
| 项 | 描述 |
|---|---|
| isdigit | 字符 是 [0 到 9] 范围内的数字。 |
| isxdigit | 字符 是范围为 [0 到 9] , [A 到 F] 或 [a 到 f] 的十六进制数字。 |
| isascii | 字符 是一个 ASCII 字符,其值范围为 [0 到 0x7F]。 |
参数
| 项 | 描述 |
|---|---|
| 字符 | 指示要测试的字符 (整数值)。 |
返回码
如果 Character 参数指定的字符是所选字符类的成员,那么 ctype 子例程将返回非零 (True); 否则,将返回 0 (False)。