_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 NULL
datový 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
_doserrno
errno
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ý stream
je 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