Sdílet prostřednictvím


_fileno

Získá popisovač souboru přidružený ke streamu.

Syntaxe

int _fileno(
   FILE *stream
);

Parametry

stream
Ukazatel na FILE strukturu.

Vrácená hodnota

_fileno vrátí popisovač souboru. Nevrátí se žádná chyba. Výsledek není definován, pokud stream neurčí otevřený soubor. Pokud je NULLdatový proud , _fileno vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, vrátí tato funkce hodnotu -1 a nastaví errno hodnotu EINVAL.

Další informace o těchto a dalších kódech chyb naleznete v tématu , , , a_sys_nerr . _sys_errlist_doserrnoerrno

Poznámka

Pokud stdout nebo stderr není přidružen k výstupnímu streamu (například v aplikaci pro Windows bez okna konzoly), vrátí se popisovač souboru -2. V předchozích verzích byl vrácen popisovač souboru -1. Tato změna umožňuje aplikacím odlišit tuto podmínku od chyby.

Poznámky

Rutina _fileno vrátí popisovač souboru, který streamje aktuálně přidružen . Tato rutina se implementuje jako funkce i jako makro. Informace o výběru jedné z implementací najdete v tématu Doporučení pro výběr mezi funkcemi a makry.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Požadavky

Function Požadovaný hlavičkový soubor
_fileno <stdio.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Příklad

// 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

Viz také

Vstupně-výstupní operace streamu
_fdopen, _wfdopen
_filelength, _filelengthi64
fopen, _wfopen
freopen, _wfreopen