Manpages

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)