模拟实现strlen、strcpy、strcat、strcmp函数

 

 strlen函数

     形式:

      strlen(字符数组)

   功能:

            测量字符串的函数,函数的值为字符串中的实际长度(不包括‘\0’在内)

   方法1:

           设置计数器,遍历字符串

        

        缺点:需要开辟临时空间

   方法2:

            通过函数递归实现

           

      方法3:

           通过指针相减得到字符长度

           

 strcpy函数

     形式:

          strcpy(字符数组1,字符串2)          

        功能:

      字符串复制函数,将字符串2复制到字符数组1中去

            实现:

        一般写法:

        

        标准写法:

         

      注意点:

           1.返回char* (为了做链式访问

                    2.const修饰源地址(const修饰的东西都受到强制保护,防止src中的值被修改)

                    3.assert断言,提高安全性 (防止对空指针解引用)

                    4.while()的判断条件,简化程序

  strcat函数

     形式:

          strcat(字符数组1,字符数组2)          

      功能:

      字符串连接函数,把两个字符数组中的字符串连接起来

      实现:

        

        注:1.字符数组1必须足够大,以便容纳后面的字符串

            2.连接前两个字符串的后面都有‘\0’,连接时将字符串1后面的‘\0’取消,

           只在新字符串最后保留'\0'.

  strcmp函数

       形式:

            strcmp(字符串1,字符串2)

       功能:

            字符串比较函数

       实现:

          

       注:

          字符串比较规则:将两个字符串自左向右按ASCII值比较,直到出现不同的字符或遇到'\0'为止


  

    这些库函数的也可以查看其源代码,比如VS2012中D:\Microsoft Visual Studio 11.0\VC\crt\src

          

         

           

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值