_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

请参见

参考

流 I/O

_fdopen、_wfdopen

_filelength、_filelengthi64

fopen、_wfopen

freopen、_wfreopen