Scroll to navigation

STDIO(3) Manual do Programador Linux STDIO(3)

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@usa.net> (tradução) XXXXXX XX XXXXX XXXXXXXX <xxxxxxxxxx@xxx.xxx> (revisão)
29 de novembro de 1993 MANPAGE BSD