strdup
时,会出现警告:
因此,似乎警告 C4996:'strdup':此项的POSIX名称已弃用。请改用符合ISO C++标准的名称:_strdup。有关详细信息,请参见在线帮助。
_strdup
是正确的。但是,当我在GCC(Fedora Linux操作系统)中使用
_strdup
时,编译器会显示错误:
使用GCC和Linux时,编译器对错误:在此范围内未声明“_strdup”
strdup
不会显示任何错误。哪个是正确的-
strdup
还是_strdup
?注意:我在我的代码中包含了
<string.h>
。
std::string
而不是 C 风格的字符串,问题就会消失。此外,在 C++ 中,头文件只需使用<cstring>
。 - johnsyweb