码迷,mamicode.com
首页 > 其他好文 > 详细

自写strcpy

时间:2015-04-22 00:41:14      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:strcpy   后置++   

<span style="font-size:32px;color:#009900;">代码:</span>
#include<stdio.h>
char *my_strcpy(char *dest,const char *src)
{
	char *ret = dest;//保存数组的首地址,下面的操作会改变dest的值
	while((*dest = *src) != '\0')//将src数组的内容全部赋给dest,包括'\0',当'\0'拷贝过去之后拷贝完成即函数结束
	{
		src++;
		dest++;
	}
	return ret;
}
int main()
{
	char a[20] = "acdefghiji";
	char b[] = "edfssss";
	printf("%s\n",my_strcpy(a,b));
	return 0;
}


mystrcpy也可以改的更加简洁:see:


char *my_strcpy2(char *dest,const char *src)
{
	char *ret = dest;
	while((*(dest++) = *(src++)) != '\0');
	return ret;
}


缺点:多执行了一步后置++,虽然对函数功能无影响,不太好理解

优点:代码简洁


技术分享


自写strcpy

标签:strcpy   后置++   

原文地址:http://blog.csdn.net/zongyinhu/article/details/45180009

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!