您的位置:首页 > 其它

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

2015-08-15 22:40 211 查看
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");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mystrdup