Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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_errlistet _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