C++ ';bzero&x27;未在此范围中声明

C++ ';bzero&x27;未在此范围中声明,c++,compiler-errors,C++,Compiler Errors,我已经包括在内了 使用此函数 bzero(&server, length); 但是编译器说 错误:“bzero”未在此作用域中声明 `不是标准库的一部分,它属于POSIX 它实际上已被弃用(请注意手册中的遗产< /强>,请考虑使用 MeMSET()/。< P>我试图运行一些旧代码,并获得错误。我刚在导入后插入了以下内容: #define bzero(b,len) (memset((b), '\0', (len)), (void) 0) 尝试添加 对我来说,这是bzero的工作,同时阅

我已经包括在内了

使用此函数

bzero(&server, length);
但是编译器说

错误:“bzero”未在此作用域中声明

`不是标准库的一部分,它属于POSIX


它实际上已被弃用(请注意手册中的<强>遗产< /强>,请考虑使用<代码> MeMSET()/<代码>。

< P>我试图运行一些旧代码,并获得错误。我刚在导入后插入了以下内容:

#define bzero(b,len) (memset((b), '\0', (len)), (void) 0)
尝试添加

对我来说,这是bzero的工作,同时阅读。

你应该包括。

为什么你希望声明
bzero
?标准所要求的stdio中没有这样的功能,我想它只能在linux/mac操作系统中工作?不是窗户?。。在本视频教程中,我正确地遵循了c中UDP编程的代码,但在windows中似乎不起作用。它们包括#include#include#include#include然后它就可以在linux上使用bzero()。@AldwaneLaytonBayarasViegan:这在Windows/C++中确实不起作用。即使在Linux上,它也是很差的C++代码。(注意C和C++是两种截然不同但相似的语言)如果你遵循POSIX链接,它说它包含在<代码> <代码>不是<代码> <代码>…您不应再使用此函数,因为它已被弃用。最好使用<代码> MyStuts<代码>。在C++ >代码> MyStuts<代码>应该是最后的选择。如果
server
不是数组,则
server={}就好了。如果它是一个数组,那么
fill(begin(server)、end(server)、T{})
。您能否详细说明为什么
unistd.h
bzero
的正确标题?标准中是否有规定?