实现一些C语言字符串库函数的知识点总结

首先要对参数的合法性进行校验,利用assert库函数来进行.

一.strlen

中要注意末尾的'\0',strlen是通过找'\0'来确定长度的

二.strcpy

1.拷贝的时候会把\0也一起拷贝过去

2.要求destination对应的内存空间足够大,能够容下src指向的字符串(包括\0),如果内存空间不够,就会出现越界的情况,导致未定义行为.

三.strcat

1.strcat的功能是实现字符拼接,其实相当于strcpy,只是strcpy是在字符串的起始位置,而strcat是在字符串的末尾位置

2.针对大部分的编程语言来说,字符串拼接都是使用+.

注意!!!strcat同样要求dest对应的内存空间得足够大,能够容纳下最终的拼接结果.

四.strcmp

1.通过"字典序"来比较字符串中的字符大小,"字典序"是英文单词最基本的排序方式

2.strcmp参数是俩个字符串,如果str1比str2小,返回一个<0的整数,如果str1比str2大,返回一个>0的整数,如果str1和str2一样,则返回0.

返回值并不是固定的-1或1,针对不同字符串比较的时候,返回值是几,不是很确定.但是一定能保证是<0,>0还是==0

五.strstr(字符串匹配)

判定str2是否是str1的子字符串或者说是str1是否包含str2

最终返回的结果就是第一个字符串中,str2首次出现在str1中的位置

strstr参数,分别是长的字符串和短的字符串,判定短的是否被长的包含,返回值类型是一个char*类型.

如果str1包含了str2,此时返回值的char*就指向了str1中str2首次出现的位置,如果str1中不包含str2,此时返回NULL.

我们使用"暴力搜索"的方式,把长字符串的所有可能的结果罗列出来~~

---------------------------------------------------------------------------------------------------------------------------------

以上介绍的这些字符串函数,功能都还是比较弱的,实际开发中我们往往需要更强大的字符串处理能力,那就需要借助一下第三方库函数或其他的编程语言来处理.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值