_fileno
Obtient le descripteur de fichier associé à un flux.
Syntaxe
int _fileno(
FILE *stream
);
Paramètres
stream
Pointeur désignant la structure FILE
.
Valeur retournée
_fileno
retourne le descripteur de fichier. Il n’existe aucun retour d’erreur. Le résultat n’est pas défini si stream
aucun fichier ouvert n’est spécifié. Si le flux est NULL
, _fileno
appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l’exécution est autorisée à se poursuivre, cette fonction retourne -1 et affecte à errno
la valeur EINVAL
.
Pour plus d’informations sur ces codes d’erreur et d’autres codes d’erreur, consultez errno
, _doserrno
, _sys_errlist
et _sys_nerr
.
Remarque
Si stdout
ou stderr
n’est pas associé à un flux de sortie (par exemple, dans une application Windows sans fenêtre de console), le descripteur de fichier retourné est -2. Dans les versions précédentes, le descripteur de fichier retourné était -1. Cette modification permet aux applications de distinguer cette condition d’une erreur.
Notes
La routine _fileno
retourne le descripteur de fichier associé à stream
. Cette routine est implémentée en tant que fonction et que macro. Pour plus d’informations sur le choix de l’une ou l’autre implémentation, consultez Recommandations pour choisir entre les fonctions et les macros.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Fonction | En-tête requis |
---|---|
_fileno |
<stdio.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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
Voir aussi
E/S de flux
_fdopen
, _wfdopen
_filelength
, _filelengthi64
fopen
, _wfopen
freopen
, _wfreopen