zoukankan      html  css  js  c++  java
  • C++的strcat实现

    #include <iostream>
    
    #pragma warning(disable:4996);
    using namespace std;
    
    char* t = (char*)malloc(1024);
    
    char* _strcut(char* des, char* src)
    {
        memset(t, 0, sizeof(t));
        if (des == NULL || src == NULL)
        {
            return 0;
    
        }
        char* temp = des + strlen(des);
        cout << temp << endl;
        while ((*temp++ = *src++) != '');
    //    strcpy(t,des);
    //    t = des;
    
        return des;
    }
    
    int main()
    {
        char a[] = "123";
        char b[] = "456";
        char *c = _strcut(a, b);
    //    char* d = t;
    //    free(t);
        return 0;
    }
    while ((*temp++ = *src++) != ''); 的原理是while一直死循环,直至条件不成立然后结束循环
    src++的作用是地址加一,然后*src取地址上的字符,将字符赋给temp字符串。当src++到字符串末尾(''-->字符串结尾的标识符)就会结束循环

    注意:
    char* temp = des + strlen(des); 是将des的地址赋给temp,然后地址往下增加des字符串的长度,以防des自身的字符串被覆盖。
    通过strcpy复制的不会改变目标字符串的地址,这与上面直接将地址赋给另一个字符串的作用是不一样。

  • 相关阅读:
    高仿中国银行ATM系统
    第二次冲刺2
    第二轮冲刺1
    本日进度7
    本日进度6
    本日进度5
    本日进度4
    本日进度3
    本日进度2
    本日进度
  • 原文地址:https://www.cnblogs.com/strive-sun/p/12524140.html
Copyright © 2011-2022 走看看