c - write函数在Unix上需要unistd.h,windows呢?

标签 c windows visual-studio posix unistd.h

我已经从 linux 计算机换成了 windows,但我在编译代码时遇到了问题,因为这两个操作系统不共享相同的头文件。

由于显然没有包含unistd.h,Visual C不知道什么是read(), write(), close()socklen_t()bzero() 函数是。谁能帮我解决这个问题?

我用谷歌搜索了这个:Is there a replacement for unistd.h for Windows (Visual C)?

我不知道 unistd.h 是如何工作的,也不知道如何编写自己的代码。有人可以给我链接吗?

最佳答案

read , writeclose<io.h> ,就像他们传统上在 Unix 上一样。

顺便说一句,我不知道 bzero完全包含在 Windows 中——如果您非常关心可移植性,您通常希望使用 memset反而。

socklen_t通常不在 Windows 上使用——大多数是 socklen_t在 Unix 上使用 size_tint在 Windows 上(socklen_t 在 Unix 上目前是对与 size_t 相同的底层类型的另一个引用,添加它以防有一天它可能有用——也就是寻找问题的解决方案)。

关于c - write函数在Unix上需要unistd.h,windows呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5684679/

相关文章:

C 相邻堆栈寻址

c - 警告 :"initialization makes pointer from integer without a cast in c

在一元 & 中转换相关的无效左值

windows - 如何创建一个空环境的windows cmd shell

visual-studio - 发布 .NET Core 时如何解决 PFX 签名不支持错误

我们可以在 C 中更改 size_t 的大小吗?

windows - 在后台运行的启动脚本

python - os.getlogin() 没有获得正确的帐户名

android - 使用 Visual Studio 构建的 Cordova 项目使用默认名称 CordovaApp

.net - 如何添加一个集合,例如动态数组作为自定义 asp.net 控件的属性?