_fileno

Obtém o descritor de arquivo associado a um fluxo.

Sintaxe

int _fileno(
   FILE *stream
);

Parâmetros

stream
Ponteiro para a estrutura FILE.

Valor retornado

_fileno retorna o descritor do arquivo. Não há retorno de erro. O resultado é indefinido se stream não especificar um arquivo aberto. Se stream for NULL, _fileno invocará o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essa função retornará um valor –1 e definirá errno como EINVAL.

Para obter mais informações sobre esses e outros códigos de erro, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Observação

Se stdout ou stderr não estiver associado a um fluxo de saída (por exemplo, em um aplicativo do Windows sem uma janela de console), o descritor de arquivo retornado será –2. Nas versões anteriores, o descritor de arquivo retornado era –1. Essa alteração permite que aplicativos faça a distinção dessa condição de um erro.

Comentários

A rotina _fileno retorna o descritor de arquivo associado no momento a stream. Essa rotina é implementada como uma função e uma macro. Para obter informações sobre como escolher qualquer uma das implementações, consulte Recomendações para escolher entre funções e macros.

Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, confira Estado global no CRT.

Requisitos

Função Cabeçalho necessário
_fileno <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

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

Confira também

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