C语言 iscntrl()
函数用于判断一个字符是否为控制字符。它是C语言的字符函数之一,位于标准库<ctype.h>
中。
控制字符
Seq | 十进制 | 十六进制 | 缩写 | 字符名 |
---|---|---|---|---|
00 | 0x00 | NUL | Null (空) | |
^A | 01 | 0x01 | SOH | Start of Heading (报头开始) |
^B | 02 | 0x02 | STX | Start of Text (正文开始) |
^C | 03 | 0x03 | ETX | End of Text (正文结束) |
^D | 04 | 0x04 | EOT | End of Transmission (传输结束) |
^E | 05 | 0x05 | ENQ | Enquiry (查询) |
^F | 06 | 0x06 | ACK | Acknowledge (确认) |
^G | 07 | 0x07 | BEL | Bell (振铃) |
^H | 08 | 0x08 | BS | Backspace (退格) |
^I | 09 | 0x09 | HT | Horizontal Tab (水平制表) |
^J | 10 | 0x0A | LF | Line Feed (馈行) |
^K | 11 | 0x0B | VT | Vertical Tab (垂直制表) |
^L | 12 | 0x0C | FF | Form Feed (馈页) |
^M | 13 | 0x0D | CR | Carriage Return (回车) |
^N | 14 | 0x0E | SO | Shift Out (移出) |
^O | 15 | 0x0F | SI | Shift In (移入) |
^P | 16 | 0x10 | DLE | Data Link Escape (数据链路转义) |
^Q | 17 | 0x11 | DC1 | Device Control 1 (设备控制1) |
^R | 18 | 0x12 | DC2 | Device Control 2 (设备控制2) |
^S | 19 | 0x13 | DC3 | Device Control 3 (设备控制3) |
^T | 20 | 0x14 | DC4 | Device Control 4 (设备控制4) |
^U | 21 | 0x15 | NAK | Negative Acknowledge (否认) |
^V | 22 | 0x16 | SYN | Synchronous Idle (同步空闲) |
^W | 23 | 0x17 | ETB | End of Transmission Block (传输块结束) |
^X | 24 | 0x18 | CAN | Cancel (取消) |
^Y | 25 | 0x19 | EM | End of Medium (介质结束) |
^Z | 26 | 0x1A | SUB | Substitute (替换) |
^[ | 27 | 0x1B | ESC | Escape (转义) |
^\ | 28 | 0x1C | FS | File Separator (文件分隔符) |
^] | 29 | 0x1D | GS | Group Separator (分组符) |
^^ | 30 | 0x1E | RS | Record Separator (记录分隔符) |
^_ | 31 | 0x1F | US | Unit Separator (单元分隔符) |
127 | 0x7F | DEL | Delete (删除) |
语法
语法如下:int iscntrl(int c)
参数
- c:指定要判断的字符。
功能
判断一个字符c是否控制字符。
返回值
当c在十六进制 0x00-0x1F之间或等于0x7F(DEL)时,返回非零值,否则返回零。
程序示例
介绍一个例子,了解C语言 iscntrl()
函数的使用方法。
#include <ctype.h>
#include <stdio.h>
int main()
{
char c;
c='Y';
printf("%x:%s\n",c,iscntrl(c)?"是控制字符":"不是");
c=0x01;
printf("%x:%s\n",c,iscntrl(c)?"是控制字符":"不是");
c=0x7f;
printf("%x:%s\n",c,iscntrl(c)?"是控制字符":"不是");
return 0;
}
程序运行结果:
59:不是
1:是控制字符
7f:是控制字符
1:是控制字符
7f:是控制字符