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

系统函数C字符串的实现(5):strdup

时间:2015-08-15 23:06:45      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:mystrdup

strdup不需要分配内存空间,自动实现字符串的拷贝

char *mystrdup(char *str)
{
	char*p = malloc(sizeof(char)*(strlen(str) + 1));
	strcpy(p, str);//拷贝
	return p;
}
/*函数名: strdup
功  能: 将串拷贝到新建的位置处
用  法: char *strdup(char *str);
*/
//strcpy的变形
void main()
{
	char str[14] = "rocket-黑夜\n";
	str[0] = 'R';
	printf("str=%s\n\n",str);
	char *p1 = NULL;
	char *p2 = "calc";
	p1 = mystrdup(p2);
	printf("p1=%s     p2=%s\n\n", p1, p2);
	p1 = _strdup(str);
	printf("p1=%s", p1);
	free(p1);
	system("pause");
}
技术分享

版权声明:本文为博主原创文章,欢迎指出代码不良之处,提出代码优化方案。欢迎指点,黑夜代码,拼命更新,努力奋斗中......

系统函数C字符串的实现(5):strdup

标签:mystrdup

原文地址:http://blog.csdn.net/zhouruifu2015/article/details/47687251

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