2025年4月28日 星期一 乙巳(蛇)年 正月廿九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言iscntrl()函数:判断字符是否为ASCII码的控制字符

时间:12-30来源:作者:点击数:132

#include <ctype.h>

iscntrl() 用来判断字符是否为ASCII码的控制字符,其原型为:
    int iscntrl(int c);

【参数】c 为需要判断的字符。

【返回值】若参数c 为ASCII 控制码,则返回非 0 值,否则返回 0。

控制字符的ASCII码值 0x00 ~ 0x1F,再加上 0x7f(DEL),控制字符在屏幕上显示时不占位(看不见);显示时占位(能看见)的字符叫打印字符,可以用 isprint() 来检测。

注意,iscntrl() 为宏定义,非真正函数。

【实例】输出一个字符串,遇到控制字符就结束。

  • #include <stdio.h>
  • #include <ctype.h>
  • int main ()
  • {
  • int i=0;
  • char str[]="first line \n second line \n";
  • while (!iscntrl(str[i]))
  • {
  • putchar (str[i]);
  • i++;
  • }
  • return 0;
  • }

输出结果:first line 

因为控制字符不可见,我们可以使用ASCII码值初始化一个数组,并判断是否是控制字符。代码如下:

  • #include<ctype.h>
  • int main(void)
  • {
  • char ch[] = {0x00,0x01,0x1f,0x7f};
  • int i = 0;
  • for(i = 0;i<4;i++)
  • {
  • if(iscntrl(ch[i]))
  • {
  • printf("%x 是控制字符\n",ch[i]);
  • }
  • else
  • {
  • printf("%x 不是控制字符\n",ch[i]);
  • }
  • }
  • return 0;
  • }

运行结果:

0 是控制字符
1 是控制字符
1f 贼制字符
7f 是控制字符
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门