编辑这个页面须要登录或更高权限!

C 库函数 iscntrl() 使用方法及示例

C 标准库 <ctype.h>

iscntrl() 函数用来检测一个字符是否是控制字符(Control Character)。
“控制字符”是指那些具有某种特殊功能、不会显示在屏幕上、不会占用字符位置的特殊字符。无法在屏幕上打印的字符称为控制字符。例如,退格键,转义符,换行符等。

控制字符和可打印字符是相对的,可打印字符是指那些会显示在屏幕上、会占用字符位置的“普通”字符。要检测一个字符是否是可打印字符,请使用 isprint() 函数。

iscntrl()函数检查一个字符(传递给该函数的字符)是否为指定字符。如果传递的字符是指定字符,则返回非零整数。如果不是,则返回0

此函数在ctype.h  头文件中定义。

iscntrl()的函数原型

int iscntrl(int argument);

isntrl()函数采用单个参数并返回一个整数。

当将字符作为参数传递时,将传递字符的相应ASCII值,而不是传递该字符本身。

例1:检查指定字符

#include <stdio.h>
#include <ctype.h>

int main()
{
    char c;
    int result;

    c = 'Q';
    result = iscntrl(c);
    printf("当%c被传递给iscntrl()时 = %d\n", c, result);

    c = '\n';
    result = iscntrl(c);
    printf("当%c被传递给iscntrl()时 = %d", c, result);

    return 0;
}

输出结果

当Q被传递给iscntrl()时 = 0
当 
 被传递给iscntrl()时 = 1

示例#2:打印所有控制字符的ASCII值

#include <stdio.h>
#include <ctype.h>

int main()
{
    int i;

    printf("所有控制字符的ASCII值是 ");
    for (i=0; i<=127; ++i)
    {
        if (iscntrl(i)!=0){
            printf("%d ", i);
        }            
    }
    return 0;
}

C 标准库 <ctype.h>