next up previous
Next: Primitiva close() Up: Descrição de algumas primitivas Previous: Primitivas open() e creat()

Função fdopen()

       #include <stdio.h>
      
       FILE *fdopen (int fildes, const char *mode);

Valor de retorno: ponteiro sobre o arquivo associado ao descritor fields, ou a constante prédefinida (dentro de <stdio.h>) e NULL em caso de erro.

A função fdopen() associa uma stream com o descritor de arquivo existente fildes. O parâmetro mode da stream indica a forma de abertura do arquivo.

Esta função faz a ligação entre as manipulações de arquivos da biblioteca padrão C, que utiliza ponteiros para os objetos do tipo FILE (fclose(), fflush(), fprintf(), fscanf(), ...), e as primitivas de baixo nível (open(), write(), read(), ...) que utilizam descritores de arquivo do tipo int. O detalhamento da biblioteca padrão em C não faz parte do escopo deste manual e maiores detalhes devem ser buscados na bibliografia recomendada.

Observação:
O arquivo deve, anteriormente, ter sido aberto através da primitiva open(). Por outro lado, o parâmetro mode escolhido deve ser compatível com o modo utilizado durante a abertura do arquivo com o open(). Este parâmetro pode ter os seguintes valores:

Exemplo:

/*  Abertura precedente por open(), por exemplo em leitura  */
if ( (fd=open("meu\_arquivo", O\_RDONLY, 0666) ) == -1)
        perror("Error open()");

/*  Associação de fp (do tipo FILE*) a fd (de tipo int)     */ 
if ( (fd=open(fd, "r") ) == -1)
        perror("Error fdopen()");


next up previous
Next: Primitiva close() Up: Descrição de algumas primitivas Previous: Primitivas open() e creat()
Celso Alberto Saibel Santos 2000-11-14