news 2026/4/16 9:16:44

C 语言 字符相关函数学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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.还有一部分函数未写上来,之后会补充的

学习感受

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 18:19:59

SpringBoot学习:整合Quartz实现定时任务

在应用开发中&#xff0c;经常会遇到需要定时执行操作的场景&#xff0c;例如日志清理、邮件发送、订单处理等。SpringBoot支持多种定时任务实现方式&#xff0c;包括Timer、ScheduledExecutorService、SpringTask、Quartz以及xxljob等。本文将重点介绍如何使用Quartz框架实现可…

作者头像 李华
网站建设 2026/4/16 7:46:28

Kubernetes平滑部署全景实战指南

在Kubernetes中实现平滑部署&#xff08;亦称无损发布或零宕机部署&#xff09;的核心原理在于&#xff1a;必须确保新Pod已启动并通过就绪检查、能够接收流量后&#xff0c;再终止旧Pod。若这一顺序被打破&#xff0c;则可能引发服务闪断、请求丢失或短暂不可用。 一、实现平…

作者头像 李华
网站建设 2026/3/26 22:36:51

什么网盘能够解决超大文件传输难题?

一、超大文件传输为何成为难题&#xff1f;现代社会的数字化程度从未像今天这样深刻影响我们的生活和工作。先做一个简单的思维试验&#xff1a;每次需要传输视频文件、设计素材、数据库备份或者超大文档时&#xff0c;你是不是曾经历过以下这些问题&#xff1f;电子邮件容量有…

作者头像 李华
网站建设 2026/4/10 6:50:51

口碑好的高转速搅拌釜供应商

行业口碑王——高转速搅拌釜供应商怎么选&#xff1f;在化工、锂电、医药、食品等众多行业的生产过程中&#xff0c;高转速搅拌釜这类设备起着关键作用。一个口碑好的高转速搅拌釜供应商&#xff0c;不仅能提供优质的设备&#xff0c;更能为企业的生产运营提供坚实保障。那该如…

作者头像 李华
网站建设 2026/4/14 23:35:58

采访稿怎么整理?牢记这7个关键步骤

采访结束后&#xff0c;对着几小时的录音逐字整理成稿&#xff0c;不仅耗时长还容易遗漏关键信息 —— 这是很多人做采访稿时的痛点。其实只要掌握 7 步流程&#xff0c;就能高效产出一篇结构清晰、重点突出的高分采访稿&#xff0c;过程中还能借助语音转文字工具降低整理成本。…

作者头像 李华