NOME
stdio − funções da biblioteca padrão de entrada/saída
SINOPSE
#include <stdio.h>
FILE *stdin;
FILE *stdout;
FILE *stderr;
DESCRIÇÃO
A biblioteca padrão de E/S provê uma interface de E/S de fluxo ’bufferizada’ simples e eficiente. Entrada e saída são mapeados para correntes lógicas de dados, e as características físicas de E/S são omitidas. As funções e macros são listadas abaixo; mais informações são disponíveis das páginas de manual individuais.
Uma corrente é associada a um arquivo externo (que pode ser um dispositivo físico) pela abertura de um arquivo, que pode envolver a criação de um novo arquivo. A criação de um arquivo já existente faz com que seu conteúdo anterior seja descartado. Se um arquivo pode suportar pedidos de posicionamento (como um arquivo de disco, ao contrário de um terminal), então um indicador de posição de arquivo associado com a corrente é posicionada no início do arquivo (byte zero), a menos que o arquivo seja aberto no modo ’acréscimo’. Se é usado o modo ’acréscimo’, o indicador de posição será colocado no fim de arquivo. O indicador de posição é mantido por leituras, escritas e pedidos de posicionamento subsequentes. Todas as entradas ocorrem como se os caracteres fossem lidos por chamadas successivas à função fgetc(3) ; todas as saídas ocorrem como se todos os caracteres fossem lidos por chamadas successivas à função fputc(3).
Um arquivo é desassociado de um fluxo pelo fechamento do arquivo. Fluxos de saída são esvaziados (qualquer conteúdo de buffer não escrito é transferido para o ambiente do host) antes do fluxo ser desassociado do arquivo. O valor de um ponteiro para um objeto FILE é indeterminado depois que um arquivo é fechado (lixo).
Um arquivo pode ser reaberto subsequentemente, pela mesma ou por outra execução do programa, e seu conteúdo pode ser reivindicado ou modificado (se ele puder ser reposicionado no início). Se a função principal retorna para o seu chamador original ou a função exit(3) é chamada, todos os arquivos abertos são fechados (portanto todos os fluxos são esvaziados) antes do encerramento do programa. Outros métodos de encerramento de programa, como o abort(3) , não se preocupam com o fechamento adequado dos arquivos.
Na inicialização de programas, três fluxos de texto são predefinidos e não precisam ser abertos explicitamente — standard input (para a entrada convencional de leitura), — standard output (para a entrada convencional de escrita), and standard error (para saída de diagnóstico de escrita). Estes fluxos são abreviados como stdin,stdout e stderr. Quando abertos, o fluxo de erro padrão não é completamente armazenados; os fluxos padrão de entrada e saída são completamente armazenados se, e somente se, os fluxos não se referem a um dispositivo interativo.
Fluxos de saída que se referem a dispositivos de terminal são sempre armazenados em linha por padrão; saídas pendentes para tais fluxos são escritos automaticamente sempre que que se lê um fluxo de entrada que se refere a um dispositivo de terminal. Nos casos onde uma grande quantidade de computações é feita depois do serviço de impressão de uma linha em um terminal de saída, é necessário executar fflush(3) na saída padrão antes do término e da computação, de forma que a saída apareça.
A biblioteca stdio é uma parte da biblioteca libc , e as rotinas são carregadas automaticamente, conforme necessárias para os compiladores cc(1) e pc(1). As seções SINOPSE das seguintes páginas de manual indicam quais arquivos de inclusão devem ser usados, com que se parecem as declarações do compilador para a função, e quais variáveis externas são de interesse.
As seguintes são definidas como macros; estes nomes não podem ser reusados sem primeiro remover suas definições atuais com #undef: BUFSIZ, EOF, FILENAME_MAX, FOPEN_MAX, L_cuserid, L_ctermid, L_tmpnam, NULL, SEEK_END, SEEK_SET, SEE_CUR, TMP_MAX, clearerr, feof, ferror, fileno, fropen, fwopen, getc, getchar, putc, putchar, stderr, stdin, stdout. Versões de função das funções de macro feof, ferror, clearerr, fileno, getc, getchar, putc, e putchar existem e serão usadas se as definições de macros são removidas explicitamente.
VEJA TAMBÉM
open(2), close(2), read(2), write(2), stdout(3)
BUGS
As funções armazenadas padrão não interagem bem com certas outras funções de biblioteca e sistema, especialmente vfork e abort. Isto pode não ser o caso no Linux.
PADRÕES
A biblioteca stdio tem conformidade com ANSI X3.159-1989 (’’ANSI C’’).
LISTA DE FUNÇÕES
Função |
Descrição |
clearerr
verifica e resseta o estado do fluxo
fclose |
fecha um fluxo | ||
fdopen |
funções de abertura de fluxo | ||
feof |
verifica e resseta o estado do fluxo | ||
ferror |
verifica e resseta o estado do fluxo | ||
fflush |
esvazia um fluxo | ||
fgetc |
captura o próximo caractere ou palavra do fluxo de entrada |
fgetline
captura uma linha do fluxo
fgetpos
reposiciona um fluxo
fgets |
captura uma linha de um fluxo |
|||
fileno |
verifica e resseta o estado do fluxo |
|||
fopen |
funções de abertura do fluxo |
fprintf
conversão formatada de saída
fpurge |
esvazia um fluxo |
|||
fputc |
envia um caractere ou palavra para um fluxo |
|||
fputs |
envia uma linha para um fluxo |
|||
fread |
entrada/saída binária de fluxo |
freopen
funções de abertura de fluxo
fropen |
abre um fluxo |
|||
fscanf |
conversão de formato de entrada |
|||
fseek |
reposiciona um fluxo |
fsetpos
reposiciona um fluxo
ftell |
reposiciona um fluxo | ||
fwrite |
entrada/saída binária de fluxo | ||
getc |
captura o próximo caractere ou palavra do fluxo de entrada |
getchar
captura o próximo caractere ou palavra do fluxo de entrada
gets |
captura uma nova linha do fluxo | ||
getw |
captura o próximo caractere ou palavra do fluxo de entrada | ||
mktemp |
faz nome de arquivo temporário (único) | ||
perror |
mensagens de erro do sistema | ||
printf |
conversão de saída formatada | ||
putc |
envia um caractere ou palavra para um fluxo |
putchar
envia um caractere ou palavra para um fluxo
puts |
envia uma linha para um fluxo |
|||
putw |
envia um caractere ou palavra para um fluxo |
|||
remove |
remove entrada de diretório |
|||
rewind |
reposiciona um fluxo |
|||
scanf |
conversão de formato de entrada |
|||
setbuf |
operações de armazenamento de fluxo |
setbuffer
operações de armazenamento de fluxo
setlinebuf
operações de armazenamento de fluxo
setvbuf
operações de armazenamento de fluxo
sprintf
conversão de saída formatada
sscanf |
conversão de formato de entrada |
strerror
mensagens de erro de sistema
sys_errlist
mensagens de erro de sistema
sys_nerr
mensagens de erro de sistema
tempnam
rotinas de arquivo temporário
tmpfile
rotinas de arquivo temporário
tmpnam |
rotinas de arquivo temporário |
|||
ungetc |
devolve caractere para um fluxo de entrada |
vfprintf
conversão de saída formatada
vfscanf
conversão de formato de entrada
vprintf
conversão de saída formatada
vscanf |
conversão de formato de entrada |
vsprintf
conversão de saída formatada
vsscanf
conversão de formato de entrada
TRADUÇÃO PARA A LÍNGUA PORTUGUESA
RUBENS DE JESUS NOGUEIRA <darkseid99 [AT] usa.net> (tradução) XXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx [AT] xxx.xxx> (revisão)