我读到了strcpy
用于复制字符串,并且strdup
返回指向新字符串的指针以复制该字符串。
您能解释一下您更喜欢使用哪些案例吗strcpy
您更喜欢使用哪些案例strdup
?
strcpy(ptr2, ptr1)
相当于while(*ptr2++ = *ptr1++)
其中 strdup 相当于
ptr2 = malloc(strlen(ptr1)+1);
strcpy(ptr2,ptr1);
(内存拷贝版本可能会更有效率)
因此,如果您希望复制的字符串在另一个函数中使用(因为它是在堆部分中创建的),您可以使用 strdup,否则 strcpy 就足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)