当前位置: 首页 > news >正文

【C/C++】字符/字符串函数(0)——由ctype.h提供

零.导言

        众所周知,C语言的字符有许多不同的类型,如:数字,字母,标点符号等等等等。

        今天,我就给大家讲解一下用于实现字符分类的函数——字符分类函数


一.什么是字符分类函数?

        即实现字符分类的函数,如:当你输入一个字符,这类函数便会帮你判断你输入的字符是否是某一类,如果是,就返回非0的整数;不是,就返回0


二.字符分类函数有哪些类型?

        有以下几种类型:

函数如果它的参数符合下列条件就返回真
iscntrl任何控制字符
isspace空白字符:空格:' ',换页:'\f',换行:'\n',回车:'\r',制表符:'\t',垂直制表符:'\v'
isdigit十进制数字:'0'~'9' 字符
isxdigit十六进制数字:'0'~'9' 字符,小写字母'a'~'f',大写字母'A'~'F'
isupper大写字母'A'~'F'
islower小写字母'a'~'f'
isalpha字母'a'~'f','A'~'F'
isalnum字母或数字'0'~'9','a'~'f','A'~'F'
ispunct标点符号,以及不属于数字和字母的可打印图形字符
isgraph图形字符
isprint可打印字符

        这里我简单介绍了11种字符分类函数,我将会详细讲解如何使用这些函数。


三.字符分类函数要如何使用?

        请看下列代码:

int main() 
{char ret = 0;scanf("%c", &ret);int arr[11] = { 0 };int* p = &arr[0];*p = iscntrl(ret);*(p + 1) = isspace(ret);*(p + 2) = isdigit(ret);*(p + 3) = isxdigit(ret);*(p + 4) = isupper(ret);*(p + 5) = islower(ret);*(p + 6) = isalpha(ret);*(p + 7) = isalnum(ret);*(p + 8) = ispunct(ret);*(p + 9) = isgraph(ret);*(p + 10) = isprint(ret);for (int i = 0; i < 11; i++){if (p[i] != 0){printf("y ");}else{printf("n ");}}return 0;
}

        输入的字符是某一类时,对应的函数就返回非0的整数;如果不是,就返回0。

        测试:

        

        显然,'a' 属于十六进制数字,小写字母,字母,字母或数字,图形字符,可打印字符


四.字符分类函数使用的意义

        可以帮助我们快速的对字符进行分类,节省我们写代码的时间。

        同时,也让我们的代码变得更加的简短易懂了。


五.字符分类函数的相关链接

        【C/C++】字符/字符串函数(1)——由string.h提供-CSDN博客



http://www.mrgr.cn/news/64114.html

相关文章:

  • springboot maven 构建 建议使用 --release 21 而不是 -source 21 -target 21,因为它会自动设置系统模块的位置
  • 模型 卡尼曼系统
  • 音视频入门基础:MPEG2-TS专题(23)——通过FFprobe显示TS流每个packet的信息
  • docker项目部署流程(Vue+Spingboot)
  • WebRTC服务质量(09)- Pacer机制(01) 流程概述
  • flask后端开发(7):加载静态文件
  • Linux云计算 |【第五阶段】CLOUD-DAY8
  • 前端将网页转换为pdf并支持下载与上传
  • 我的作品·导航
  • Java复习29(PTA)
  • SpringBoot+FileBeat+ELK8.x版本收集日志
  • java基础知识面试题四多线程
  • 手写实现call,apply,和bind方法
  • 【MATLAB代码】三个CT模型的IMM例程,各CT旋转速率不同,适用于定位、导航、目标跟踪
  • 2024阿里云CTF Web writeup
  • 房贷利率定价调整机制变更的一点理解
  • Linux 进程终止 进程等待
  • 面试必会50题
  • MATLAB口罩检测
  • 大学城水电管理:Spring Boot应用案例
  • Ollama:本地部署与运行大型语言模型的高效工具
  • static全局/局部变量/函数和普通全局/局部变量/函数的区别
  • 赋值语句@赋值表达式@便于阅读和便于理解的比较
  • 【Linux中的第一个小程序】进度条及printf打印彩色字符
  • 《Python修炼秘籍》01踏上编程之旅
  • 满秩分解与奇异值分解