zoukankan      html  css  js  c++  java
  • 实现strcpy

    char *strcpy(char *strDest,const char *strSrc)

    {

      assert((strDest != NULL) && (strSrc != NULL)); //如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。

      char *address = strDest;

      while((*strDest++ = *strSrc++) != '0')

        NULL;

      return address;

    }

    strcpy能把strSrc的内容复制到strDest,还要char * 类型的返回值,是为了实现 链式表达式。                    

    char *strinsert(char *strDest,char *strSrc,int pos)
    {
        assert((strDest != NULL)&&(strSrc != NULL));
        int strSize = strlen(strDest) + strlen(strSrc);
        char * strTemp = new char[strSize + 1];
        if(pos < strlen(strDest))
        {
            for(int i = 0; i < strSize ; ++i)
            {
                if(i < pos)
                {
                    strTemp[i] = strDest[i];
                }
                else
                    if( pos <= i && i < (pos + strlen(strSrc)))
                    {
                        strTemp[i] = strSrc[i - pos];
                    }
                    else
                    {
                        strTemp[i] = strDest[i - strlen(strSrc)];
                    }
            }   
        }
        else
        {
            strcpy(strTemp,strDest);
            strcat(strTemp,strSrc);
        }
        strTemp[strSize] = '\0';
        return strTemp;
    }

  • 相关阅读:
    【转载】关于C#中动态加载AppDomain的问题
    poj2239
    poj2231
    poj2229
    poj2234
    poj2236
    前 路
    只含一个单词的句子
    做人准则
    改变人生的32句励志名言
  • 原文地址:https://www.cnblogs.com/pbreak/p/1762505.html
Copyright © 2011-2022 走看看