C++ 为什么strcpy_不存在于我的系统中?

C++ 为什么strcpy_不存在于我的系统中?,c++,header,debian,clang,C++,Header,Debian,Clang,我正在Debian 8系统上使用clang。我有标准的C++标题。然而,没有定义strcpy的头文件。为什么会这样 # grep -iRHI 'strcpy_s' /usr 2>/dev/null /usr/include/x86_64-linux-gnu/bits/string2.h: ? __strcpy_small (dest, __strcpy_args (src), \ /usr/include/x86_64-linux-gn

我正在Debian 8系统上使用
clang
。我有标准的C++标题。然而,没有定义strcpy的头文件。为什么会这样

# grep -iRHI 'strcpy_s' /usr 2>/dev/null
/usr/include/x86_64-linux-gnu/bits/string2.h:                ? __strcpy_small (dest, __strcpy_args (src),             \
/usr/include/x86_64-linux-gnu/bits/string2.h:__STRING_INLINE char *__strcpy_small (char *, __uint16_t, __uint16_t,
/usr/include/x86_64-linux-gnu/bits/string2.h:__strcpy_small (char *__dest,
/usr/include/x86_64-linux-gnu/bits/string2.h:__STRING_INLINE char *__strcpy_small (char *, __STRING2_COPY_ARR2,
/usr/include/x86_64-linux-gnu/bits/string2.h:__strcpy_small (char *__dest,
/usr/src/broadcom-sta-6.30.223.248/src/include/bcmutils.h:#define bcm_strcpy_s(dst, noOfElements, src)            strcpy((dst), (src))
为什么strcpy_不存在于我的系统中

代码> Strucyss<代码>不是由C++标准库提供的。< /P>
strcpy_s
自C11起由C标准规定。但即使在C11中,
strcpy_s
也是可选的。所有标准库实现并不提供所有可选功能。因此,答案似乎是:因为您安装的所有C标准库都没有声明它

如何将strcpy_s、strtok_s和所有其他安全字符串函数安装到我的系统中


您需要找到一个实现所有这些功能的库,或者自己实现它们。

显然,这些功能不存在,因为它们不存在。我可以通过查找和安装它们来查找和安装它们;或者,也可以自己编写代码。显然,这是一个有用的解决方案,所以让我们开始投票。

这不是一个有用的答案。如何将strcpy_s、strtok_s和所有其他安全字符串函数安装到我的系统中?@sodalmaghty为什么这么认为?在我看来,这对那些想知道为什么没有定义strcpy_的头的人来说是非常有帮助的,这正是你所问的。我现在也回答了你的新问题。所以,为了找到并得到它们,我必须找到并得到它们。正确的。这是没有帮助的!!!这不是答案。为什么人们会投票呢?@Sodalmaghty你有没有办法改进答案?是的。告诉我从哪里得到缺少的函数会非常有用。我投了更高的票。把它放到任何需要strcpy_s
templateinline int strcpy_s(C*d,无符号长dmax,const C*s){if(dmax)谢谢。但是我仍然缺少所有其他函数:(这段时间你找到解决方案了吗?我想不起来了。