TA贡献1813条经验 获得超2个赞
char * strdup(const char * s){ size_t len = 1+strlen(s); char *p = malloc(len); return p ? memcpy(p, s, len) : NULL;}
也许代码比使用strcpy()就像\0CHAR不需要再被搜索(它已经和strlen()).
strcpy()
\0
strlen()
TA贡献1840条经验 获得超5个赞
没有必要重复其他的答案,但请注意strdup()可以从C的角度做它想做的任何事情,因为它不是任何C标准的一部分。不过,POSIX.1-2001年对此作了界定。
strdup()
举报