您的位置:首页 > 其它

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

2017-08-29 16:18 381 查看

 strlen函数

 
   形式:

      strlen(字符数组)

   功能:

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

  
方法1:


          
设置计数器,遍历字符串

        




        缺点:需要开辟临时空间

  
方法2:


            通过函数递归实现

           





     
方法3:


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

           


 strcpy函数

    
形式:


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

        功能:

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

           
实现:


        一般写法:


        





        标准写法:

         





      注意点:


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

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

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

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

 
[b]strcat函数
[/b]

[b]    
[b]形式:
[/b][/b]

          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

          



         



           

     

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: