嵌入式-C语言基础:实现字符串拷贝函数

自己实现一个字符串的拷贝函数

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

char * mystrcpy(char * dest,char * src)
{
    if(dest==NULL||src==NULL)
    {
        return NULL;
    }
    char * bak=dest;
    while(*src!='\0')
    {
        *dest=*src;
        dest++;
        src++;
    }
    *dest='\0';//添加结束标识符
    return bak;
}

char * mystrncpy(char * dest,char * src,int count)
{
    if(dest==NULL||src==NULL)
    {
        return NULL;
    }
    char * bak=dest;
    while(*src!='\0'&&count>0)
    {
        *dest=*src;
        dest++;
        src++;
        count--;
    }
    *dest='\0';//添加结束标识符
    return bak;
}

int main()
{
    char dest[128]={'\0'};
    char dest2[128]={'\0'};
    char * src="helloworld";
    mystrcpy(dest,src);
    mystrncpy(dest2,src,3);
    printf("%s\n",dest);
    printf("%s\n",dest2);
    printf("done\n");
    return 0;
}

上述实现了一个全拷贝和部分拷贝函数。

输出结果:

helloworld
hel
done

posted @ 2022-11-01 22:26  WellMandala  阅读(108)  评论(0)    收藏  举报