c语言各种库函数的模拟和实现

 

目录

 

1. 字符分类函数

2. 字符转换函数

3. strlen的使用和模拟实现

4. strcpy的使用和模拟实现

5. strcat的使用和模拟实现

6. strcmp的使用和模拟实现

7. strncpy函数的使用

8. strncat函数的使用

9. strncmp函数的使用

10. strstr的使用和模拟实现

11. strtok函数的使用

12. strerror函数的使用


1. 字符分类函数

在c语言中,专门用来分类的函数叫做字符分类函数,使用这类函数时需要引用 ctype.h头文件

非零为真,0为假,所以这些函数的返回值为int类型,运用时应按照以下例子为标准、

 

其余函数类似,不一一举例了 

2. 字符转换函数

c语言有两种字符转换函数tolower、 toupper 

tolower用来将参数传进去的大写字母转换成小写字母

toupper用来将参数传进去的小写字母转换成大写字母

将字符串里的所有小写字母或大写字母转换时,需要用遍历来转换

3. strlen的使用和模拟实现

strlen用来计算字符串字符的数量

字符串以  '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前⾯出现的字符个数(不包含'\0')

参数指向的字符串必须要以 '\0' 结束。

 注意函数的返回值为size_t,是⽆符号的

 strlen的使⽤需要包含头⽂件 string.h

strlen的模拟:assert用来确保传进来的参数不为空指针

4. strcpy的使用和模拟实现

strcpy用来将一字符串(源字符串)(arr)拷贝进另字符串(目标字符串)(brr)里

源字符串必须以 '\0' 结束

会将源字符串中的 '\0' 拷⻉到⽬标空间

⽬标空间必须⾜够⼤,以确保能存放源字符串

⽬标空间必须可修改

strcpy的模拟:assert用来确保传进来的参数不为空指针

                        ret用来存放brr的初始地址并用作返回值

5. strcat的使用和模拟实现

strcat 用来将一字符串(源字符串)连接(追加)另一字符串(目标字符串)

源字符串必须以 '\0' 结束

⽬标字符串中也得有 \0 ,否则没办法知道追加从哪⾥开始

⽬标空间必须有⾜够的⼤,能容纳下源字符串的内容

⽬标空间必须可修改

strcat的模拟:

6. strcmp的使用和模拟实现

strcpm用来对比两字符串

第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字

 第⼀个字符串等于第⼆个字符串,则返回0

◦第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字

 那么如何判断两个字符串?⽐较两个字符串中对应位置上字符ASCII码值的⼤⼩

strcpm的模拟:

7. strncpy函数的使用

与strncpy的作用一致,不过多了一个形参来控制拷贝的字符数量

8. strncat函数的使用

与strcat的作用一致,多了一个形参来控制链接的字符的数量

当连接自己与自己时,一般用strncat

9. strncmp函数的使用

与 strcmp作用相同,多了一个参数来控制对比的数量

10. strstr的使用和模拟实现

strstr用来在一字符串里找是否有与另一字符串相等

函数返回字符串str2在字符串str1中第⼀次出现的位置

字符串的⽐较匹配不包含 \0 字符,以 \0 作为结束标志

strstr的模拟:

11. strtok函数的使用

形参arr是分隔符的集合,是字符串数组

第⼀个参数指定⼀个字符串,它包含了0个或者多个由arr字符串中⼀个或者多个分隔符分割的标 记 

strtok函数找到str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针

(注: strtok函数会改变被操作的字符串,所以被strtok函数切分的字符串⼀般都是临时拷⻉的内容并且可修改) 

12. strerror函数的使用

在不同的系统和c语言标准库中,有着不同的错误代码,其中都代表一类或一种错误信息,例如我们在访问某个网页时会出现404的情况,而strrttor函数则会返回错误信息字符串的地址

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值