C语言字符函数

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:是控制字符