_fileno_fileno

Obtener el descriptor de archivo asociado a un flujoGets the file descriptor associated with a stream.

SintaxisSyntax

int _fileno(
   FILE *stream
);

ParámetrosParameters

misionesstream
Puntero a la estructura FILE.Pointer to the FILE structure.

Valor devueltoReturn Value

_fileno devuelve el descriptor de archivo._fileno returns the file descriptor. No se devuelve ningún error.There's no error return. El resultado es undefined si Stream no especifica un archivo abierto.The result is undefined if stream does not specify an open file. Si Stream es null, _fileno invoca el controlador de parámetros no válidos, tal y como se describe en validación de parámetros.If stream is NULL, _fileno invokes the invalid parameter handler, as described in Parameter Validation. Si la ejecución puede continuar, esta función devuelve -1 y establece errno en EINVAL.If execution is allowed to continue, this function returns -1 and sets errno to EINVAL.

Para obtener más información sobre estos y otros códigos error, consulte _doserrno, errno, _sys_errlist y _sys_nerr.For more information about these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

Nota

Si stdout o stderr no están asociados a un flujo de salida (por ejemplo, en una aplicación de Windows sin una ventana de consola), el descriptor de archivo devuelto es-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. En versiones anteriores, el descriptor de archivo devuelto era -1.In previous versions, the file descriptor returned was -1. Este cambio permite que las aplicaciones distingan esta condición de un error.This change allows applications to distinguish this condition from an error.

ObservacionesRemarks

La rutina _fileno devuelve el descriptor de archivo asociado actualmente a la secuencia.The _fileno routine returns the file descriptor currently associated with stream. Esta rutina se implementa como función y como macro.This routine is implemented both as a function and as a macro. Para obtener información sobre cómo elegir una implementación, consulte Elegir entre funciones y macros.For information about choosing either implementation, see Choosing Between Functions and Macros.

De forma predeterminada, el ámbito de este estado global de esta función es la aplicación.By default, this function's global state is scoped to the application. Para cambiar esto, vea estado global en CRT.To change this, see Global state in the CRT.

RequisitosRequirements

FunciónFunction Encabezado necesarioRequired header
_fileno_fileno <stdio.h>

Para obtener más información sobre compatibilidad, vea Compatibility.For more compatibility information, see Compatibility.

EjemploExample

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

Consulte tambiénSee also

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