我有一些代码使用在 Linux 中编译和运行良好的 select 函数。但我正在尝试将其移植到 Windows 并收到此错误,我不知道如何处理。它说
STDIN_FILENO: undeclared identifier
我无法为此提出或找到任何解决方案。有没有办法让 STDIN_FILENO 在 Windows 中工作?
我有一些代码使用在 Linux 中编译和运行良好的 select 函数。但我正在尝试将其移植到 Windows 并收到此错误,我不知道如何处理。它说
STDIN_FILENO: undeclared identifier
我无法为此提出或找到任何解决方案。有没有办法让 STDIN_FILENO 在 Windows 中工作?
MSDN 建议使用_fileno(stdin)
, where_fileno
在<stdio.h>
.
但是请注意:
如果stdout或stderr不与输出流相关联(例如,在没有控制台窗口的 Windows 应用程序中),则返回的文件描述符为 -2。在以前的版本中,返回的文件描述符是 -1。此更改允许应用程序将此情况与错误区分开来。
STDIN_FILENO 是标准 POSIX 的定义,
试试0!