千家信息网

C语言字符函数isalnum()和iscntrl()有什么用

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍C语言字符函数isalnum()和iscntrl()有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!isalnum() 函数用于检查所传的字符是否是字母或
千家信息网最后更新 2025年01月17日C语言字符函数isalnum()和iscntrl()有什么用

这篇文章主要介绍C语言字符函数isalnum()和iscntrl()有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

isalnum() 函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下:

  _CRTIMP int __cdecl isalnum(int _C);

返回值为非零(真)表示参数c是字母或者十进制数字,返回值为零(假)表示参数c既不是十进制数字,也不是字母。

下面通过一个简单的例子来演示它的用法。

#include #include int main(){   int var1 = 'a';   int var2 = '8';   int var3 = '\t';   int var4 = ' ';       if( isalnum(var1) )   {      printf("var1 = |%c| 是字母数字\n", var1 );   }   else   {      printf("var1 = |%c| 不是字母数字\n", var1 );   }   if( isalnum(var2) )   {      printf("var2 = |%c| 是字母数字\n", var2 );   }   else   {      printf("var2 = |%c| 不是字母数字\n", var2 );   }   if( isalnum(var3) )   {      printf("var3 = |%c| 是字母数字\n", var3 );   }   else   {      printf("var3 = |%c| 不是字母数字\n", var3 );   }   if( isalnum(var4) )   {      printf("var4 = |%c| 是字母数字\n", var4 );   }   else   {      printf("var4 = |%c| 不是字母数字\n", var4 );   }       return(0);}

  分别定义4个变量,一个字母,一个数字,一个制表符,一个空字符,输出结果如下:

前两个变量返回值为真,后两个变量返回值为假。

isalnum() 函数可以同时检测字母或者数字,如果要单独检测字母或者数字的的话,库函数中还提供了专门的检测函数isalphaisdigit,他们的函数原型如下:

  _CRTIMP int __cdecl isalpha(int _C);  _CRTIMP int __cdecl isdigit(int _C);

将上面代码中的函数替换为这两个函数。

#include #include int main(){   int var1 = 'a';   int var2 = '8';      if( isalpha(var1) )   {      printf("var1 = |%c| 是字母\n", var1 );   }   else   {      printf("var1 = |%c| 不是字母\n", var1 );   }         if( isdigit(var2) )   {      printf("var2 = |%c| 是数字\n", var2 );   }   else   {      printf("var2 = |%c| 不是数字\n", var2 );   }      return(0);}

  运行结果如下:

C语言标准库里面还提供了控制字符检测函数iscntrl

所谓 "控制字符"是指那些具有某种特殊功能、不会显示在屏幕上、不会占用字符位置的特殊字符。在ASCII码表中,前32个字符就是控制字符。

控制字符检测函数iscntrl原型如下:

     _CRTIMP int __cdecl iscntrl(int _C);

如果 c 是一个控制字符,则该函数返回非零值,否则返回 0。

下面通过一段简单的代码演示它的用法。

#include #include int main(){   int i = 0, j = 0;   char str1[] = "abc \a def \t gh";   char str2[] = "123 \n 456";     /* 输出字符串,直到控制字符 \a */   while( !iscntrl(str1[i]) )    {      putchar(str1[i]);      i++;   }     /* 输出字符串,直到控制字符 \n */   while( !iscntrl(str2[j]) )    {      putchar(str2[j]);      j++;   }      return(0);}

定义两个字符串,中间有控制字符,然后打印字符串的时候检测字符是否为控制字符,如果是控制字符就结束打印。输出结果如下:

;同输出结果可以看到只打印了控制符前面的字符。

与控制字符相对的就是可打印字符,可打印字符是指那些会显示在屏幕上、会占用字符位置的"普通"字符。在ASCII码表中编码32-127的字符都是可打印字符。可打印字符就是经常用到的数字、字母、符号等这些在屏幕上可以看见的字符。

以上是"C语言字符函数isalnum()和iscntrl()有什么用"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

字符 字母 数字 函数 控制 检测 输出 两个 字符串 结果 语言 十进制 原型 变量 就是 屏幕 十进 特殊 代码 位置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 珠海手机软件开发 抢单系统软件开发 数据库传输执行语句限制长度 安卓手机摩尔庄园服务器进不去 预防发生危害网络安全的事件 浙江销售管理软件开发平台 中职数据库基础 这么吧手机变成网站服务器 电脑数据库的管理是谁负责 网络安全审查体系分析 安擎服务器管理口 鹤壁网络技术产品介绍 网络安全常用身份认证的手段 中国结算总部软件开发有外包嘛 江西省网络安全知识竞赛插件 主流erp管理软件开发商 投资互联网科技行业的机遇 app更新下载服务器连接失败 崇明区智能化软件开发供应商价位 网络安全考试情况报告 我的世界手机版服务器如何变op 权益套餐的网络技术基础是 管理服务器的图片 深圳号码数据库 国家网络安全教育观后感500字 南京大学网络安全复试 自贡市妇联网络安全宣传 软件开发公司获得补贴 刀剑神域服务器图片 山西虚拟服务器管理软件云主机
0