字符串函数

本文详细介绍了C语言中的strlen函数用于计算字符串长度,strcpy和strcat用于字符串拷贝,strcat需注意目标空间足够大。strcmp用于比较字符串,基于ASCII码值。讲解了函数的使用方法和模拟实现过程。
摘要由CSDN通过智能技术生成

strlen的使用和模拟实现

strlen函数用来求字符串长度

首先我们要知道strlen返回的值是在字符串中 '\0' 前⾯出现的字符个数(不包含 '\0' ),其次strlen的使用需要包含头文件。

size_t 类型表示C中任何对象所能达到的最大长度,它是无符号整数。

*str代表传入一个数组。

我们将要想求长度的数组输入进去,用指针的形式进行接收,然后通过while循环求值。因为数组的末尾为\0,所以当*p的值等于\0时就代表*p已经到达数组的末尾。while循环每循环一次就让p的地址++一下,同时创造个变量来记录循环次数,最后返回记录的次数即可得到长度。

strcpy的使用和模拟实现

strcpy函数用于拷贝,将source的内容拷贝到destination。

注意:⽬标空间必须⾜够⼤,以确保能存放源字符串,且⽬标空间必须可修改。

把要目标的数组和要拷贝的数组 传入函数,先用ret记录下p1的地址,等下作为返回值。(如果p1作为返回值的话,p1经过循环后,p1的首地址已经不是刚传入时的地址了,会导致后面打印不出数组)。

assert是保证p1以及p2不为空指针。

*p1++ = *p2++的计算方式是:后置++所以先把*p2的值赋给*p1然后进行++。当赋值到最后一位时(即*p2次时等于\0)循环就会终止,因为是先赋值后判断所以当*p2把\0赋值给*p1是就会自动停止。(\o在ascll表中的值为0)

strcat 的使用和模拟实现

 strcat函数用于把src里面的内容拷贝到dest的后面。

例如:

结果是:

其实这个和strcpy函数差不多,都要注意⽬标空间必须⾜够⼤,以确保能存放源字符串,且⽬标空间必须可修改。

这个函数可以在strcpy函数的基础上进行修改。

首先我们要先找到arr1地址的\0的位置,然后从\0的位置开始进行复制。也就是说我们只要找出arr1数组的\0然后就和strcpy函数的操作步骤一样了。

只需要在前面加个while循环让p1走到\0的位置,然后进行拷贝就行

strcmp 的使用和模拟实现

strcmp函数用来比较大小。

标准规定:
第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字
第⼀个字符串等于第⼆个字符串,则返回0
第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字
⽐较两个字符串中对应位置上字符ASCII码值的⼤⼩。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值