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

来源:互联网 发布:金十数据原油直播室 编辑:程序博客网 时间:2024/05/16 09:54

 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

          

         

           

     

原创粉丝点击