_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ść errnoEINVAL.

Aby uzyskać więcej informacji na temat tych i innych kodów błędów, zobacz errno, _doserrno, _sys_errlisti _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 Rekomendacje wyboru 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