_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 ) );
}