Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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