当我在Microsoft Visual C ++中使用strdup时,它警告我: 警告C4996:'strdup':此项目的POSIX名称已弃用。 而是使用ISO C ++一致性名称:_strdup。 详细信息请参见在线帮助。 因此,似乎_strdup是正确的。 但是当我在GCC(Fedora Linux OS)中使用_strdup时,编译器显示一个错误: 错误:'_strdup'未在此范围内声明 使用GCC和Linux,编译器不会显示任何strdup错误。 这是正确的 – strdup或_strdup ? 注意:我在我的代码中包含<string.h> 。
我读strcpy是为了复制一个string,而strdup返回一个指向新string的指针来复制string。 你能解释一下你喜欢使用strcpy情况吗?你喜欢用什么情况下使用strdup ?
在C中的strdup()函数的目的是什么?