read() 是 unistd.h 中定义的 UNIX 函数(在 LINUX 中)——我读过的所有文档都表明它不是标准的 C 函数。这可能是它在 UNIX 中编译但在 Windows 中不编译的原因。
在 UNIXread()
中采用文件描述符,但在 Windows 中等效的构造是“句柄”。
您的程序中真的需要低级文件描述符 I/O 吗?您可以使用fread
标准 C 函数吗?
这篇 Microsoft 支持文章介绍了 Windows 中可用的文件句柄类型:
There are multiple types of file handles that can be opened using
the Win32 API and the C Run-time:
Returned Type File Creation API API Set
---------------------------------------------
HANDLE CreateFile() Win32
HFILE OpenFile()/_lcreat() Win32
int _creat()/_open() C Run-time
FILE * fopen() C Run-time