C语言字符串拷贝

C语言字符串拷贝利用指针操作,要清楚知道指针的指向

代码如下:

#include <stdio.h>
#include <assert.h>
#include <string.h>

char* my_strcpy1(char* dest, const char* src)
{
        assert(dest != NULL && src != NULL);
        char* ret = dest;
        while((*dest++ = *src++) != '\0');
        return ret;                  
}
//较第一种效率高
char* my_strcpy2(char* dest, const char* src)
{
    assert(dest != NULL && src != NULL);
    char* s = (char*) src;
    //int delt = dest - src; //不兼容64位系统   long delt = dest - src;
    while((s[delt] = *s++) != '\0');
    return dest;                  
}

int main(void)
{
        char str1[4];
        char str2[4];
        char str3[4];  

        strcpy(str1,"sam");
        my_strcpy1(str2,"sam");
        my_strcpy2(str3,"sam");

        printf("str1 = %s\n", str1);
        printf("str1 = %s\n", str2);
        printf("str1 = %s\n", str3);

    return 0;  
}

原文链接: https://www.cnblogs.com/bailaobo/p/3600286.html

欢迎关注

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

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

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

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

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

(0)
上一篇 2023年2月10日 下午7:57
下一篇 2023年2月10日 下午8:02

相关推荐