strdup与strndup

strdup()函数是c语言中常用的一种字符串拷贝库函数,一般和free()函数成对出现。

extern char *strdup(char *s);
头文件:string.h
功 能: 将串拷贝到新建的位置处
strdup()在内部调用了malloc()为变量分配内存,不需要使用返回的字符串时,需要用free()释放相应的内存空间,否则会造成内存泄漏。
       返回一个指针,指向为复制字符串分配的空间;如果分配空间失败,则返回NULL值。

-------------------------------------------------------------------------------------------

char *strndup(const char *s, size_t n);   //只复制前n个字符

strndup()函数类似,但只能复制最多n个字符。 如果s长于n,则只复制n个字符,并添加终止空字节(' 0')。

      返回一个指针,指向为复制字符串分配的空间;如果分配空间失败,则返回NULL值。

原文地址:https://www.cnblogs.com/alan666/p/8311998.html