news 2026/4/18 17:40:37

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/18 8:25:19

转行网安别光练技术!合规知识是企业安全刚需,运维入门更轻松

很多运维转行网安时&#xff0c;只关注 “技术攻击与防御”&#xff08;如渗透测试、漏洞挖掘&#xff09;&#xff0c;却忽视了 “合规知识”—— 而合规是企业安全的 “底线要求”&#xff0c;也是网安岗位的 “刚需技能”。随着《网络安全法》《数据安全法》《个人信息保护法…

作者头像 李华
网站建设 2026/4/18 7:05:20

.NET微服务架构:从开发到部署全指南

你列出的这些技术栈&#xff08;.NET Core、RabbitMQ、EF Core、Web API、TCP、Swagger、Linux、Docker&#xff09;构成了一个典型的现代化微服务或分布式系统开发环境。下面我为你简要梳理它们各自的角色&#xff0c;并提供一些整合建议和最佳实践&#xff1a;1. .NET Core&a…

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

基于51单片机自动吸尘粉笔擦黑板压力检测风扇除尘设计DIY套件127(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于51单片机自动吸尘粉笔擦黑板压力检测风扇除尘设计DIY套件127(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 51单片机黑板自动吸尘粉笔擦压力检测风扇除尘127产品功能描述&#xff1a; 本系统由STC89C52单片机、拨动开关、…

作者头像 李华
网站建设 2026/4/18 7:02:32

基于51单片机智能洗手器干手器红外人体感应风扇烘干设计套件149(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于51单片机智能洗手器干手器红外人体感应风扇烘干设计套件149(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码51单片机智能红外洗手器干手器风扇烘干系统149 产品功能描述&#xff1a; 本系统由STC89C52单片机、继电器控制、…

作者头像 李华
网站建设 2026/4/17 16:38:11

基于MSP430单片机超低功耗温度计温度检测报警系统设计/DIY套件4(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

基于MSP430单片机超低功耗温度计温度检测报警系统设计/DIY套件4(设计源文件万字报告讲解)&#xff08;支持资料、图片参考_相关定制&#xff09;_文章底部可以扫码 MSP430单片机超低功耗温度计检测报警系统4产品功能描述&#xff1a; 本系统由MSP430F149单片机核心、LCD1602液晶…

作者头像 李华