_fileno

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Obtenir le descripteur de fichier associé à un flux.

int _fileno(   
   FILE *stream   
);  

Paramètres

stream
Pointeur vers la structure FILE.

_fileno retourne le descripteur de fichier. Aucun retour d'erreur. Le résultat n'est pas défini si stream ne spécifie pas un fichier ouvert. Si un flux de données a la valeur NULL, _fileno invoque le gestionnaire de paramètre non valide, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction renvoie -1 et définit errno à la valeur EINVAL.

Pour plus d'informations sur ces codes d'erreur et d'autres, consultez _doserrno, errno, _sys_errlist et _sys_nerr.

System_CAPS_ICON_note.jpg 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 du fichier retourné est -2. Dans les versions antérieures, le descripteur du fichier retourné est -1. Cette modification permet aux applications de distinguer cette condition d'une erreur.

La routine _fileno retourne le descripteur de fichier actuellement associé à stream. Cette routine est implémentée comme fonction et comme macro. Pour plus d'informations sur le choix d'implémentation consultez Choix entre des fonctions et des macros

FonctionEn-tête requis
_fileno<stdio.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

// 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 ) );  
}  

Le descripteur de fichier pour stdin est 0
Le descripteur de fichier pour stdout est 1
Le descripteur de fichier pour stderr est 2

System::IO::FileStream::Handle

E/S de flux
_fdopen, _wfdopen
_filelength, _filelengthi64
fopen, _wfopen
freopen, _wfreopen

Afficher: