Provided by:
manpages-pt-dev_20040726-4_all 
NOME
fopen, fdopen, freopen - funcoes de abertura de fluxo
SINOPSE
#include <stdio.h>
FILE *fopen (const char *path, const char *mode);
FILE *fdopen (int fildes, const char *mode);
FILE *freopen (const char *path, const char *mode, FILE *stream);
DESCRI,C~AO
A funcao fopen abre o arquivo cujo nome e a string apontada por path e
associa um fluxo com ele.
O argumento mode aponta para uma string que comeca com uma ou mais
sequencias (Caracteres adicionais podem seguir essas sequencias.):
r Abre arquivo de texto para leitura. O fluxo e posicionado no
comeco do arquivo.
r+ Abre para leitura e escrita. O fluxo e posicionado no comeco do
arquivo.
w Trunca o arquivo para comprimento zero, ou cria arquivo de texto
para escrita. O fluxo e posicionado no comeco do arquivo.
w+ Abre para leitura e escrita. O arquivo e criado se nao existir,
caso contrario ele e truncado. O fluxo e posicionado no comeco
do arquivo.
a Abre para escrita. O arquivo e criado se nao existir. O fluxo e
posicionado no fim do arquivo.
a+ Abre para leitura e escrita. O arquivo e criado se nao existir.
O fluxo e posicionado no fim do arquivo.
A string de mode tambem pode incluir a letra ``b'' como um ultimo
caractere ou como um caractere entre os caracteres em qualquer uma das
strings de dois caracteres descritas acima. Isto e estritamente para
compatibilidade com ANSI X3.159-1989 (``ANSI C'') e nao tem efeito; o
``b'' e ignorado em todos os sistemas conformes com POSIX, incluindo o
Linux. (Outros sistemas podem tratar arquivos de texto e arquivos
binarios de formas diferentes, e o acrescimo de ``b'' pode ser uma boa
ideia se voce faz E/S para um arquivo binario e espera que seu programa
possa ser portado para ambientes nao-Unix.)
Quaisquer arquivos criados terao o modo
S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH (0666), conforme
modificado pelo valor de 'umask' do processo (veja umask(2).
Leitura e escrita pode ser mescladas em fluxos de leitura/escrita em
qualquer ordem. Note que o C ANSI requer que uma funcao de
posicionamento de arquivo intercale-se entre a saida e a entrada, a
menos que uma operacao de entrada encontre o fim do arquivo. (Se esta
condicao nao e encontrada, entao uma leitura e permitida para retornar
o resultado de escritas que nao sejam a mais recente.) Portanto e uma
boa pratica (e de fato necessario sob o Linux, as vezes) colocar uma
operacao fseek ou fgetpos entre operacoes de escrita e leitura em tais
fluxos. Esta operacao pode ser um aparente no-op ("no operation"), como
em fseek(..., 0L, SEEK_CUR) chamado para seu efeito colateral de
sincronismo.
A funcao fdopen associa um fluxo com o descritor de arquivos existente,
fildes. O modo do fluxo (um dos valores "r", "r+", "w", "w+", "a",
"a+") precisa ser compativel com o modo do descritor de arquivo. O
indicador de posicao do arquivo do novo fluxo e setado para aquele
pertencente ao fildes, e os indicadores de erro e fim de arquivo sao
limpos. Os modos "w" ou "w+" nao provocam truncamento do arquivo. O
descritor de arquivo nao sofre um 'dup', e sera fechado quando o fluxo
criado por fdopen for fechado. O resultado da aplicacao de fdopen para
um objeto de memoria compartilhado e indefinido.
A funcao freopen abre o arquivo cujo nome e a string apontada por path
e associa o fluxo apontado por stream a ele. O fluxo original (se
existir) e encerrado. O argumento mode e usado apenas como na funcao
fopen. O uso primario da funcao freopen e mudar o arquivo associado
com o fluxo de texto padrao (stderr, stdin, ou stdout).
VALORES DE RETORNO
Em caso de termino bem-sucedido, fopen, fdopen e freopen retornam um
ponteiro para FILE. Caso contrario, e retornado um NULL e a variavel
global errno e setada para indicar o erro.
ERROS
EINVAL O mode fornecido para fopen, fdopen, ou freopen era invalido.
As funcoes fopen, fdopen e freopen tambem podem falhar e setar errno
para quaisquer dos erros especificados para a rotina malloc(3).
A funcao fopen tambem pode falhar e setar errno para quaisquer dos
erros especificados para a rotina open(2).
A funcao fdopen tambem pode falhar e setar errno para quaisquer dos
erros especificados para a rotina fcntl(2).
A funcao freopen tambem pode falhar e setar errno para quaisquer dos
erros especificados para as rotinas open(2), fclose(3) e fflush(3).
VEJA TAMB'EM
open(2), fclose(3)
PADR~OES
As funcoes fopen e freopen estao em conformidade com ANSI X3.159-1989
(``ANSI C''). A funcao fdopen esta em conformidade com IEEE
Std1003.1-1988 (``POSIX.1'').
TRADU,C~AO PARA A L'INGUA PORTUGUESA
RUBENS DE JESUS NOGUEIRA <darkseid99@usa.net> (traducao) XXXXXX XX
XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisao)