#include
//des = src
void Mystrcpy1(char
*des,char*src)
{
int i;
for(i=0; src[i]!='\0'; i++)
{
des[i] = src[i];//数组
}
des[i] = '\0';
}
//des[i] == *(des+i)
void Mystrcpy2(char
*des,char*src)
{
int i;
for(i=0; *(src+i)!='\0'; i++)
{
*(des+i) = *(src+i);//指针
}
*(des+i) = '\0';
}
void Mystrcpy3(char *des,char
*src)
{
while(*src != '\0')
{
*des = *src;
src++;
des++;
}
*des = '\0';
}
void Mystrcpy4(char *des,char
*src)
{
while(*src != '\0')
{
*des++ = *src++;
}
*des = '\0';
}
void Mystrcpy5(char *des,char
*src)
{
while(*des++ = *src++) ;
}
void Mystrcpy6(char *des,char
*src)
{
assert(des!=NULL &&
src!=NULL);
if(des==NULL || src==NULL)
{
return ;
}
while(*src != '\0')
{
*des++ = *src++;
}
*des = '\0';
}
int main()
{
char str1[10] = "";
char str2[10] = "abcde";
Mystrcpy(NULL,str2);
Mystrcpy(str1,str2);
printf("%s\n",str1);
return 0;
}
本文介绍了使用C语言实现字符串拷贝的六种不同方法,包括直接数组赋值、指针操作等多种方式,并通过一个简单的示例展示了这些函数的用法。
1万+

被折叠的 条评论
为什么被折叠?



