C 语言 字符相关函数学习

C语言的字符相关的函数很多很杂,,有些经常使用,有的就不怎么听说,本文将记录我学习到的部分函数。

一、字符分类函数

这里的函数都有种相似的面貌,都是is + 分类依据,包含在头文件 <ctype.h>

例如 isdigit,isspace,iscntrl,isalpha,isupper,islower 等

(注:图片乃 ai 生成)

1.函数的定义

int 函数名(想判断的字符);

函数名就暗示了你这个函数能分类什么样的字符,以islower 举例,当参数为小写字母时,函数返回一个非零的数字,参数为其他字符时,函数返回零

2.函数的作用

正如它的名字一样,就是用来分类字符的,可以联合多个字符分类函数以达到对文本的统计处理,还可以删去不想要的错误字符,

3.补充:字符转换函数

函数的定义为int 函数名(int c )

底层原理其实就是在判断 ASCII 码值,当其处于 26 个 小写(大写)字母的值区间时,对应减(加)32,得到相反的字母

二、字符串相关函数

下面主要讲解五种函数:

1.strlen()

参数是字符串,返回一个size_t类型的数字

作用是计算字符串除掉 '\0' 之前的字符数量,简单的模拟实现如图。

使用时注意返回值为无符号整数,想要用它做计算时需要先强制类型转换为整型。

2.strcpy()

它用来拷贝已有的字符

参数为两个指针,第二个指针为想要复制的字符串的起始字符的地址,第一个指针为拷贝到的字符串的存放位置的起始地址。

使用时需保证第一个指针所对应的数组的存储空间足够放下想拷贝的内容。

拷贝完后,第一个指针所对应的数组会有新的结束位置 '\0'. 其余之后的内容难以使用。

3.strcat()

这个函数用来连接两个字符串,第一个参数为想要拼接的字符串的首字符地址,第二个参数为想连接上的字符串。它会从第一个字符串的结尾 '\0' 处替换并连接新的字符串。

使用时得注意空间大小,参数顺序。

4.strcmp

如图所示,它的大小比较方式就是看两个数组的每一位字符的 ASCII 的大小,感觉很难用,不过多介绍。

加 n 的变体:

上述2-4的三个函数都有变化,在 str 后面加上 n 就可以限制拷贝,拼接以及比较的字符个数

第三个参数为无符号整型 ,对应 n

strncpy在 n 小于等于要拷贝的字符串小于等于时,会按需拷贝,不做额外改动,

n 大于要拷贝的字符串的strlen长度加1时,会在结尾补上 '\0'.

strncat 没有额外的补充,是多少接多少,多了就不填任何东西,对多的地方不做改动。

strcmp与strcat 类似,也不填东西,只比较存在的部分。

5.strstr

这个函数相当的有用,类似于浏览器的 ctrl + f ,在网页中查找东西。

第一个参数为要被查找的文本的首地址,第二个参数为要找的东西,

假如文本中有多个重复的查找物,只会返回第一次出现时的地址。

文本中没有查找物时,就返回空指针

6.还有一部分函数未写上来,之后会补充的

学习感受

文章最后记录一下寒假学习的感受,其实从昨天才开始接着学,被期末周和旅游稍微占用了近三周的时间。敲代码的感觉有点减少,但很快就找回来了,只是学的不如在学校有劲,效率也变低了。最近看了些学习视频,说是学习的起步阶段很难,但是贵在坚持,加油。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1195739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32单片机智能指纹锁电子密码锁指纹识别门禁解锁设计件21(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于STM32单片机智能指纹锁电子密码锁指纹识别门禁解锁设计件21(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码STM32单片机智能指纹识别密码锁门禁系统21 产品功能描述&#xff1a; 本系统由STM32F103C8T6单片机核心板、LCD16…

MATH Day 05 Applications amp;amp; Practice

可持久化线段树 (Persistent Segment Tree) 1. 核心思想&#xff1a;共享结构 (Shared Structure) 基本原理&#xff1a;每次修改操作不复制整个结构&#xff0c;而仅创建 \(O(\log n)\) 个新节点。关键技术&#xff1a;动态开点。 每个节点显式存储左右儿子的索引。分配新索…

2026最新酱蟹推荐!上海/延吉优质酱蟹品牌权威榜单发布,匠心工艺与地道风味双优助力高品质韩式生腌体验

引言 随着韩式生腌文化在国内持续升温,消费者对酱蟹等特色美食的需求日益增长,但市场上产品品质参差不齐、口味标准化不足等问题成为选择痛点。据中国烹饪协会最新行业报告显示,国内生腌品类市场规模年增长率达35%,…

2026最新生腌品牌推荐!上海/延吉地区优质生腌餐饮权威榜单发布,匠心风味与安全品质双保障的韩式生腌服务推荐

引言 随着消费者对特色美食的探索需求日益增长,生腌作为兼具鲜爽口感与文化特色的餐饮品类,正迎来消费热潮。然而,行业食材新鲜度参差不齐、腌制工艺标准缺失等问题,导致食品安全与风味体验难以保障。据中国烹饪协…

隐私无忧,掌控随心:ToDesk隐私屏功能全方位解读

在远程控制场景中&#xff0c;隐私保护始终是用户最为关注的核心问题。想象一下这些场景&#xff1a;你在办公室远程连接家中电脑处理私人事务时&#xff0c;同事从身旁经过&#xff1b;或者在家访问公司电脑时&#xff0c;家人恰好在屏幕前&#xff1b;又或是IT技术人员协助客…

财务审核规则自动化配置流程

在工业互联网平台高质量发展的政策推动下&#xff0c;企业财务管理正经历一场深刻变革。传统财务审核依赖人工配置规则的模式&#xff0c;不仅效率低下、成本高企&#xff0c;更难以应对海量数据与复杂规则的挑战。某大型连锁零售企业曾因规则更新不及时&#xff0c;月度审核误…

2026最新海鲜品牌推荐!上海/延吉优质韩式生腌海鲜权威榜单发布,品质与风味双优的生腌美食推荐

引言 随着消费升级与饮食文化多元化发展,韩式生腌海鲜凭借独特风味与营养优势,成为餐饮市场备受追捧的品类。然而,行业存在食材新鲜度参差不齐、腌制工艺标准混乱等问题,导致消费者难以精准选择。据中国烹饪协会20…

【语法定义写法】BNF标记法

[registry_host[:port]/][namespace/]repository[:tag] 这种写法是BNF(巴科斯-诺尔范式)格式的标记法,用于定义语法规则,不是实际的命令格式。在双引号中的东西代表它本身 双引号外的字代表语法 <必选项> [可…

向量数据库技术内核:从存储到检索,拆解其高效运作的秘密

向量数据库技术内核:从存储到检索,拆解其高效运作的秘密写在前面:我也是“被向量数据库名词轰炸”过的人 说实话,我第一次接触向量数据库的时候,是有点抗拒的。 那会儿各种文章都在说:向量数据库是 AI 时代的“新…

无人机电调模块选型指南

飞控的电调模块是无人机动力系统的核心&#xff0c;它负责接收飞控指令&#xff0c;精确控制电机转速。以下是不同类型电调的特点与选型对比&#xff0c;以及关键的选型参数。 主流电调类型对比 关键选型参数 选择电调时&#xff0c;需关注以下几点以确保其与电机、电池及飞控…

文档抽取工具怎么用自然语言配置

在企业数字化转型的浪潮中&#xff0c;80%的高价值数据仍被困在PDF、扫描件、图片等非结构化文档里。传统文档抽取工具虽能解决问题&#xff0c;但配置复杂、技术门槛高&#xff0c;往往需要数据工程师花费大量时间编写正则表达式和后处理脚本。如今&#xff0c;TextIn智能文档…

我做了一个本地AI搜索工具,今天正式开源了!

前言 花了一段时间&#xff0c;我终于把小遥搜索 XiaoyaoSearch做出来了。 这是一个支持语音、文本、图片多模态输入的本地AI搜索桌面应用。最特别的是&#xff0c;它100%通过Vibe Coding&#xff08;AI辅助编程&#xff09;实现&#xff0c;从零开始&#xff0c;所有源码、设…

【C++数据结构进阶】玩转并查集:从原理到实战,C++ 达成与高频面试题全解析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

我用 XinServer 给客户做后台,效率翻 3 倍

我用 XinServer 给客户做后台&#xff0c;效率翻 3 倍 兄弟们&#xff0c;最近接了个外包项目&#xff0c;客户要一个带用户管理、内容发布、数据统计的管理后台&#xff0c;时间紧任务重。要是放以前&#xff0c;我肯定得拉着后端兄弟一起&#xff0c;先定接口文档&#xff0c…

ARMxy BL335 智慧农业实践:秦安水蜜桃智慧种植与冷链保鲜一体化方案

在很多果农眼里,水蜜桃是一门“看天吃饭、看人下手”的生意。什么时候升温、什么时候控湿、什么时候浇水、什么时候入库,全靠经验。 但在秦安,一套用数据说话、用系统控环境的水蜜桃种植新模式,已经跑通。 今天,我…

基于Python的出行路线规划与推荐系统的设计与实现-计算机毕业设计源码+无LW文档

基于Python的出行路线规划与推荐系统的设计与实现 摘要&#xff1a;本文围绕基于Python的出行路线规划与推荐系统展开&#xff0c;阐述了其设计与实现过程。随着交通出行需求的增长和技术的进步&#xff0c;此类系统具有重要价值。系统采用相关技术架构&#xff0c;具备路线类型…

企业网盘可以在局域网使用吗?

根据《中国互联网络发展状况统计报告》显示&#xff0c;截至今年上半年&#xff0c;中国网民总数已突破10亿&#xff0c;且其中超过9亿人具备个人文件存储需求。不少企业也在数字化转型的过程中意识到&#xff0c;长期以来传统的文件管理模式已经无法满足业务高速发展和协作效率…

Cortex-M系列,Cortex-A系列,汇编启动文件的区别

Cortex-M系列&#xff1a;可以不自己写汇编启动代码&#xff0c;因为芯片厂商提供了完整的启动文件&#xff0c;但理解汇编对调试和优化很重要。 Cortex-A系列&#xff1a;通常需要懂汇编启动原理&#xff0c;但实际开发中常使用现成的bootloader&#xff08;如U-Boot&#xf…

中央音乐学院联合研究:视频自动配乐还卡点

中央音乐学院联合研究:视频自动配乐还卡点论文标题: Video Echoed in Music: Semantic, Temporal, and Rhythmic Alignment for Video-to-Music Generation 作者团队: 中央音乐学院、北京大学、阿里巴巴等 发布时间: …

Django项目,sqlite版本太低问题

报错 命令&#xff1a;python manage.py runerver 0.0.0.0:8001 原因&#xff1a;django版本更新&#xff0c;需要使用更高版本的sqlite&#xff0c;但是sqlite在python中被内置&#xff0c;无法直接升级卸载 Traceback (most recent call last): File "/home/project/new…