字符串函数的模拟实现(除strlen外,之前写过一篇专门的strlen)

本文通过模拟实现strcpy、strcmp和strcat等字符串处理函数,帮助读者理解这些函数的工作原理,提升对字符串操作的深入理解。
摘要由CSDN通过智能技术生成

概要

字符串函数需要包含头文件<string.h>
为了更加了解字符串函数的原理,这里我们实现一些字符串函数,例如strcpy,strcmp,strcat;
要模拟实现字符串函数的功能,首先要了解他们是干什么的,下面与模拟实现一起说了;

strcpy的模拟实现

  1. strcpy:str是string,cpy是copy,顾名思义strcpy是将一个字符串复制给另一个字符串,
    在这里插入图片描述
    由此可见strcpy的功能;
  2. 根据strcpy的功能我们自己写一个函数my_strcpy
    在这里插入图片描述
    最后一行是为了获取原字符串的 ‘\0’
    这里利用指针来实现功能,因为比较简单就不在详细说了
  3. 因为我们对这个代码简洁度不太满意吧
    然后进行了简化如下:
    在这里插入图片描述
    当*tar == '\0’时ASCII码值也为0,循环停止;

strcmp的模拟实现

  1. strcmp:str是string,cmp是compare,因为我们不能用><=来比较字符串,所以strcmp是用来进行字符串的比较的,他比较的原理就是一个字符一个字符的比较;
    在这里插入图片描述
    根据上面我们可以退出当一个字符串比另一个字符串大的时候返回一个大于0的数,当一个字符串比另一个字符串小的时候返回一个小于0的数,当两个字符串相等时返回0;
  2. 根据上面的特性我们对strcmp进行模拟实现建立一个my_strcmp
    在这里插入图片描述

strcat的模拟实现

  1. strcat:str是string,cat是catenate,常常用来进行字符串的连接,
    在这里插入图片描述
    根据上图可知strcat是将后面的字符串连接到前面字符串的后面
  2. 接下来我们对他进行模拟实现,建立my_strcat
    首先我们来找到前面字符串的’\0’
    在这里插入图片描述
    接下来在后面连接就可以了
    在这里插入图片描述

小结

通过对字符串函数的模拟实现有助于我们更加了解字符串函数的工作原理;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码中游侠沐墨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值