_fileno_fileno

Obtient le descripteur de fichier associé à un flux.Gets the file descriptor associated with a stream.

SyntaxeSyntax

int _fileno(
   FILE *stream
);

ParamètresParameters

streamstream
Pointeur désignant la structure FILE.Pointer to the FILE structure.

Valeur de retourReturn Value

_fileno retourne le descripteur de fichier._fileno returns the file descriptor. Aucun retour d'erreur.There is no error return. Le résultat n’est pas défini si Stream ne spécifie pas de fichier ouvert.The result is undefined if stream does not specify an open file. Si Stream a la valeur null, _fileno appelle le gestionnaire de paramètre non valide, comme décrit dans validation de paramètre.If stream is NULL, _fileno invokes the invalid parameter handler, as described in Parameter Validation. Si l’exécution est autorisée à se poursuivre, cette fonction retourne -1 et définit errno sur EINVAL.If execution is allowed to continue, this function returns -1 and sets errno to EINVAL.

Pour plus d’informations sur ces codes d’erreur et autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.For more information about these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

Notes

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.If stdout or stderr is not associated with an output stream (for example, in a Windows application without a console window), the file descriptor returned is -2. Dans les versions précédentes, le descripteur de fichier retourné était -1.In previous versions, the file descriptor returned was -1. Cette modification permet aux applications de distinguer cette condition d’une erreur.This change allows applications to distinguish this condition from an error.

NotesRemarks

La routine _fileno retourne le descripteur de fichier actuellement associé au flux.The _fileno routine returns the file descriptor currently associated with stream. Cette routine est implémentée en tant que fonction et que macro.This routine is implemented both as a function and as a macro. Pour plus d’informations sur le choix de l’implémentation, consultez Choix entre fonctions et macros.For information about choosing either implementation, see Choosing Between Functions and Macros.

Configuration requiseRequirements

FonctionFunction En-tête requisRequired header
_fileno_fileno <stdio.h><stdio.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité.For more compatibility information, see Compatibility.

ExempleExample

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

E/S de fluxStream I/O
_fdopen, _wfdopen_fdopen, _wfdopen
_filelength, _filelengthi64_filelength, _filelengthi64
fopen, _wfopenfopen, _wfopen
freopen, _wfreopenfreopen, _wfreopen