zoukankan      html  css  js  c++  java
  • 实现strlen、strcpy、strcmp、strcat、memcpy等函数

    <assert.h>

    <string.h>

    1、strcpy

      char* strcpy(char* str1,const char* str2)

      {

        assert((str1 != NULL) && (str2 != NULL));

        char* str3 = str1;

        while((*str1++ == *str2++) != '');

        return str3;

      }

    2、strlen

        int strlen(const char * str)

        {

          int len = 0;

          assert(NULL != str);

          while (*str++ != '')

          { 

            len++;

          }

          return len;

        }

    3、strcat

        char* strcat(char *dest, const char *src)

        {

          char* destbak = dest;

          assert(NULL != dest && NULL != src);

          while ( '' != *dest)

          {

            dest++;

          }

          while (*dest++ = *src++);

          return destbak;

        }

    4、strcmp

          int mystrcmp1(const char *str1, const char *str2)

          {

            assert(NULL != str1 && NULL != str2);

            while ( '' != *str1 || '' != *str2 )

            {

              if (*str1 > *str2)

              {

                return 1;

              }

              if (*str1 < *str2)

              {

                return -1;

              }

              str1++;

              str2++;

            }

            if ('' == *str1 && '' == *str2)

            {

              return 0;

            }  

          }

    5、memcpy

        void *my_memcopy(void *str1, const void *str2,int len)

        {

          char *tmp1=(char*)str1;

          char *tmp2=(char*)str2;

          void *ret=str1;

          assert(NULL!=str1&&NULL!=str2);

          while(len--)

          {

            *tmp1++ = *tmp2++;

          }

          return ret;

        }

        

  • 相关阅读:
    json格式
    UICollectionViewLayout继承UICollectionViewFlowLayout自定义布局
    iOS中如何生成二维码
    Xcode升级之后插件无法使用与不小心点击Skipbundle的解决办法
    如何上传本地代码到github
    Xcode实用快捷键以及Mac一些常用指令
    0925-0926 函数注意点
    0921控制结构注意点
    0920逻辑运算符,位运算,移位运算,三元运算符,短路性注意点
    0919表达式&运算符注意点
  • 原文地址:https://www.cnblogs.com/gumpzlc/p/9650146.html
Copyright © 2011-2022 走看看