当前位置: C语言 -- 标准库 -- <ctype.h> -- iscntrl

iscntrl函数


概要:
#include <ctype.h>
int iscntrl(int c);

描述:

该函数用于检查字符是否为控制字符。

控制字符与打印字符相对应,控制字符在显示设备上不占打印位置。

对于ASCII字符集,控制字符的ASCII值位于0x00(NUL)和0x1f(US)之间,以及0x7f(DEL)。

该函数行为会受当前语言环境影响。


参数:
int c

参数c为一个int类型整数,其值可用unsigned char类型表示或者等于宏EOF。如果参数c是其它值,函数行为是未定义的。


返回值:

如果参数c是控制字符,函数返回非0值(即true);反之,如果参数c不是控制字符,函数返回0(即false)。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
/*函数iscntrl范例*/

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

int main(void)
{
    int i = 0;
    int count = 0;    //计数器,统计控制字符数量。
    const char str[] = "I am a slow walker,\n but I never walk backwards.\n";

    while(str[i])
    {
        if(iscntrl(str[i]))
            ++count;
        ++i;
    }

    printf("There are %d control characters in the sentence.", count);

    return 0;
}

输出:

There are 2 control characters in the sentence.


相关内容:
isprint 检查字符是否为打印字符(包括空格符' ')的函数。
isgraph 检查字符是否为打印字符(空格符' '除外)的函数。
ispunct 检查字符是否为标点符号的函数。