模拟实现strcpy函数

    技术2025-11-17  22

    1.描述

    char * strcpy ( char * destination, const char * source );返回值为char*方便链式表示。dst空间足够大,并且和源地址没有重叠。(如果重叠并且目的端,地址在源地址“后面”,要从后向前赋值,不然会覆盖’\0‘)

    5. 结尾’\0‘,需要拷贝。

    2.代码展示

    #include<stdio.h> #include<stdlib.h> #include<assert.h> #include<string.h> char* mystrcpy(char* dst,const char *src) //char * strcpy ( char * destination, const char * source ) { assert(dst&&src); char* ret = dst; /*while (*src != '\0') { *dst++ = *src++; } *dst = *src;*/ //实现链式连接(strlen(strcpy(dst,src))) while ((*dst++ = *src++) != '\0'); return ret; } void test1() { char arr1[] = "abcd"; //char arr1[] = { 'a','b','c','d', '\0'}; char arr2[1024] ; strcpy(arr2, arr1); printf("%s\n", arr2); char arr3[1024]; mystrcpy(arr3,arr1); printf("%s\n", arr3); } int main() { test1(); system("pause"); return 0; }

    3.结果展示

    Processed: 0.019, SQL: 9