C语言iscntrl():判断一个字符是否为控制字符
iscntrl() 是 C语言的一个标准库函数,定义在
iscntrl() 函数用于检测给定的字符是否为控制字符。所谓控制字符,指的是 ASCII 码值位于 0x00(NOL)~0x1f(VS) 之间以及等于 0x7f 的字符。
iscntrl() 函数的原型如下:
【实例】用 iscntrl() 函数检查一个字符串中的每个字符是否是控制字符,请看下面的 C语言代码。
<ctype.h>
头文件中。iscntrl() 函数用于检测给定的字符是否为控制字符。所谓控制字符,指的是 ASCII 码值位于 0x00(NOL)~0x1f(VS) 之间以及等于 0x7f 的字符。
iscntrl() 函数的原型如下:
int iscntrl(int c);
参数
c 表示要检查的字符,虽然参数是 int 类型,但通常传入的是 char 类型的字符。返回值
如果传入的字符是控制字符,则返回非零值;如果传入的字符不是控制字符,则返回零。【实例】用 iscntrl() 函数检查一个字符串中的每个字符是否是控制字符,请看下面的 C语言代码。
#include <stdio.h> #include <ctype.h> int main() { char str[] = { 'A', '\t', '\n', 27, '\0' }; // 包括制表符、换行符和ESC字符 for(int i = 0; str[i] != '\0'; i++) { if(iscntrl(str[i])) { printf("Character at index %d is a control character.\n", i); } else { printf("Character at index %d is NOT a control character.\n", i); } } return 0; }输出结果为:
Character at index 0 is NOT a control character.
Character at index 1 is a control character.
Character at index 2 is a control character.
Character at index 3 is a control character.