strcpy实现

#include <iostream>
#include <stdio.h>

using namespace std;
char *_strcpy(char* des, char* src)
{
    if (des == NULL || src == NULL)
    {
        return 0;
    }
   // cout << (void*)des << endl;
   // cout << src << endl;
   // cout << *des << endl;
   // cout << *src << endl;
    int ret = 0;
    char* temp1 = des;
    char* temp2 = src;
    while (!(ret=*temp1 -*temp2) && *temp1)
    {
        temp1++;
        temp2++;
    }
    if (ret == 0)
    {
        return 0;
    }
    char* pIter = des;
    while ((*pIter++ = *src++) != '\0');
    return des;
}

int main()
{
    char a[] = "abc";
    char b[] = "abc4";
    char *c = _strcpy(a, b);

    return 0;
}

 如果有对 while ((*pIter++ = *src++) != '\0'); 不理解的,可以写成这样

while (*pIter != '\0')
{
   *++pIter = *++src;
}

 

原文链接: https://www.cnblogs.com/strive-sun/p/12519146.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    strcpy实现

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/336111

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午10:28
下一篇 2023年3月1日 下午10:29

相关推荐