葫芦岛市网站建设_网站建设公司_域名注册_seo优化
2026/1/21 17:40:11 网站建设 项目流程

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.还有一部分函数未写上来,之后会补充的

学习感受

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询