字符函数和字符串函数

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>

islower 是能够判断参数部分的 c 是否是小写字母的。 通过返回值来说明是否是小写字⺟,如果是⼩写字母就返回⾮0的整数,如果不是小写字母,则返回 0。

练习:

写 ⼀个代码,将字符串中的小写字母转⼤写,其他字符不变。

-=32是因为大写字母和小写字母的ASCLL值差32。

2. 字符转换函数

可以使用tolower 函数

3. strlen的使用和模拟实现

格式(求个数)

注意:

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

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

3. 注意函数的返回值为size_t,是无符号的

4.strlen的使用需要包含头文件 

strlen的模拟实现:

1.

2.

3.

4. strcpy 的使用和模拟实现

格式:(复制)

注:

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

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

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

4.⽬标空间必须可修改。

错误示范:

因为找不到\0,

arr2的存放位置太小 放不下arr1里的内容。

strcpy的模拟实现:

arr2对应dest;arr1对应src。

求字符串长度:

5. strcat 的使用和模拟实现

格式:(添加)

注:

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

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

3.目标空间必须有足够的⼤,能容纳下源字符串的内容。

4.目标空间必须可修改。

模拟实现strcat函数:

6. strcmp的使用和模拟实现

格式:(比较大小)

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

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

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

那么如何判断两个字符串?比较两个字符串中对应位置上字符ASCII码值的大小

strcmp函数的模拟实现:

7. strncpy 函数的使用

格式(可以选择复制几个字符)

对比strcpy与strncpy

8. strncat 函数的使用

格式:(可以选择添加几个字符)

1.将source指向字符串的前num个字符追加到destination指向的字符串末尾,再追加⼀个 符 \0 字符

2.如果source 指向的字符串的⻓度⼩于num的时候,只会将字符串中到 \0 的内容追加destination指向的字符串末尾

对比:strcat和strncat

9. strncmp函数的使用

格式:(选择字符比较大小)

对比

strcmp和strncmp

10. strstr 的使用和模拟实现

格式:(在一个字符找出一个子字符,找第一次出现的位置)

注:

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

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

strstr的模拟实现:

11. strtok函数的使用

格式(分隔符)

注:

1.sep参数指向⼀个字符串,定义了⽤作分隔符的字符集合 •

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

3. strtok函数找到str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针。(注: strtok函数会改变被操作的字符串,所以在使⽤strtok函数切分的字符串⼀般都是临时拷⻉的内容 并且可修改。)

4.strtok函数的第⼀个参数不为 NULL,函数将找到str中第⼀个标记,strtok函数将保存它在字符串中的位置 •

5.strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标 记。

6.如果字符串中不存在更多的标记,则返回 NULL 指针

12. strerror 函数的使用

格式:

注意:

strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来。一般包含头文件errno.h。

0:没有错

1:操作被拒绝了

2:没有这个文件或文件夹

3:没有这个进程

4:函数调用被打断

5:输入输出错误

6:没有这个设备或地址

7:列表太长

8:执行格式错误

9:无效的文件描述符

10:没有子进程

举例:

10

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值