_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