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");
}
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接