Format
#include <stdio.h> int fileno(FILE *stream);
Language Level: XPG4, Extension
fileno determines the file handle currently associated with stream.
Note: In earlier releases of the C/C++ run-time library, fileno began with an underscore (_fileno). Because it is defined by the X/Open standard, the underscore has been removed. For compatibility, IBM C and C++ Compilers will map _fileno to fileno for you.
Return Value
fileno returns the file handle. If the function fails,
the return value is -1 and the errno variable may be set to one
of the following values:
| Value | Meaning |
| ENULLFCB | The input stream is NULL. |
| EBADTYPE | The input stream file is not a stream file. |
The result is undefined if stream does not specify an open file.
Example
This example determines the file handle of the stderr
data stream.
#include <stdio.h>
int main(void)
{
int result;
result = 0xFFFF&fileno(stderr);
printf("The file handle associated with stderr is %d.\n", result);
return 0;
/*****************************************************************
The output should be similar to:
The file handle associated with stderr is 2. *****************************************************************/ }
![]()
![]()
dup -- Associate Second Handle with Open File
![]()
dup2 -- Associate Second Handle wirh Open File
fopen -- Open Files
freopen -- Redirect Open Files
![]()
isatty -- Test Handle for Character Device
![]()
open -- Open File
<stdio.h>