_fileno
获取与流有关的文件描述符。
int _fileno(
FILE *stream
);
参数
- stream
指向 FILE结构的指针。
返回值
_fileno 返回文件描述符号。 无错误返回。 如果 stream 没有指定一个开启的文件,则结果是未定义的。 如果流为 NULL,_fileno 将调用无效参数处理程序,如 参数验证所述。 如果执行允许继续,这个函数返回 -1并设定errno 到 EINVAL 。
有关这些属性和其他错误代码的详细信息,请参阅 _doserrno、errno、_sys_errlist 和 _sys_nerr。
备注
如果 stdout 或 stderr 与输出流没有联系 (例如,在没有控制台窗口的 Windows 应用程序),文件说明符返回的是 -2。在以前版本,返回的文件说明符为 -1。此更改允许应用程序从错误中区分此条件。
备注
_fileno 程序返回与当前 stream有联系的文件说明符。 该程序被实现既作为一个函数也作为一个宏。 有关选择和实现信息,请参见 在函数和宏中选择。
要求
功能 |
必需的标头 |
---|---|
_fileno |
<stdio.h> |
有关更多兼容性信息,请参见“简介”中的兼容性。
示例
// crt_fileno.c
// This program uses _fileno to obtain
// the file descriptor for some standard C streams.
//
#include <stdio.h>
int main( void )
{
printf( "The file descriptor for stdin is %d\n", _fileno( stdin ) );
printf( "The file descriptor for stdout is %d\n", _fileno( stdout ) );
printf( "The file descriptor for stderr is %d\n", _fileno( stderr ) );
}
.NET Framework 等效项
System::IO::FileStream::Handle