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)