_fileno
Pobiera deskryptor plików skojarzony ze strumieniem.
Składnia
int _fileno(
FILE *stream
);
Parametry
stream
Wskaźnik do FILE
struktury.
Wartość zwracana
_fileno
Zwraca deskryptor plików. Nie ma zwracanego błędu. Wynik jest niezdefiniowany, jeśli stream
nie określi otwartego pliku. Jeśli strumień to NULL
, _fileno
wywołuje nieprawidłową procedurę obsługi parametrów zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie jest dozwolone do kontynuowania, ta funkcja zwraca wartość -1 i ustawia wartość errno
EINVAL
.
Aby uzyskać więcej informacji na temat tych i innych kodów błędów, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwaga
Jeśli stdout
lub stderr
nie jest skojarzony ze strumieniem wyjściowym (na przykład w aplikacji systemu Windows bez okna konsoli), zwracany deskryptor pliku to -2. W poprzednich wersjach zwrócony deskryptor pliku to -1. Ta zmiana umożliwia aplikacjom odróżnienie tego warunku od błędu.
Uwagi
Rutyna _fileno
zwraca deskryptor plików aktualnie skojarzony z elementem stream
. Ta rutyna jest implementowana zarówno jako funkcja, jak i jako makro. Aby uzyskać informacje na temat wybierania obu implementacji, zobacz Zalecenia dotyczące wybierania między funkcjami i makrami.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Wymagania
Function | Wymagany nagłówek |
---|---|
_fileno |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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 ) );
}
The file descriptor for stdin is 0
The file descriptor for stdout is 1
The file descriptor for stderr is 2
Zobacz też
We/Wy strumienia
_fdopen
, _wfdopen
_filelength
, _filelengthi64
fopen
, _wfopen
freopen
, _wfreopen