Você está na página 1de 2

Introdu o

O sistema de entrada e sada da linguagem C est estruturado na forma de uma


biblioteca de funies. J vimos algumas destas funies, e agora elas ser o reestudadas.
Novas
funies tambm ser o apresentadas.
N o objetivo deste curso explicar, em detalhes, todas as possveis funies da bibliote
ca
de entrada e sada do C. A sintaxe completa destas funies pode ser encontrada no ma
nual do
seu compilador. Alguns sistemas trazem uma descri o das funies na ajuda do compilado
r,
que pode ser acessada "on line". Isto pode ser feito, por exemplo, no Rhide.
Um ponto importante que agora, quando apresentarmos uma fun o, vamos, em
primeiro lugar, apresentar o seu prottipo. Voc j deve ser capaz de interpretar as
informaies que um prottipo nos passa. Se n o, deve voltar a estudar a aula sobre funi
es.
Outro aspecto importante, quando se discute a entrada e sada na linguagem C o
conceito de fluxo. Seja qual for o dispositivo de entrada e sada (discos, termina
is, teclados,
acionadores de fitas) que se estiver trabalhando, o C vai enxerg-lo como um fluxo
, que nada
mais que um dispositivo lgico de entrada ou sada. Todos os fluxos s o similares em s
eu
funcionamento e independentes do dispositivo ao qual est o associados. Assim, as m
esmas
funies que descrevem o acesso aos discos podem ser utilizadas para se acessar um
terminal
de vdeo. Todas as operaies de entrada e sada s o realizadas por meio de fluxos.
Na linguagem C, um arquivo entendido como um conceito que pode ser aplicado a
arquivos em disco, terminais, modens, etc ... Um fluxo associado a um arquivo at
ravs da
realiza o de uma opera o de abertura. Uma vez aberto, informaies podem ser trocadas
entre o arquivo e o programa. Um arquivo dissociado de um fluxo atravs de uma ope
ra o
de fechamento de arquivo.
Lendo e Escrevendo Caracteres
Uma das funies mais bsicas de um sistema a entrada e sada de informaies em
dispositivos. Estes podem ser um monitor, uma impressora ou um arquivo em disco.
Vamos
ver os principais comandos que o C nos fornece para isto.
getche e getch
As funies getch() e getche() n o s o definidas pelo padr o ANSI. Porm, elas
geralmente s o includas em compiladores baseados no DOS, e se encontram no header f
ile
conio.h. Vale a pena repetir: s o funies comuns apenas para compiladores baseados e
m DOS
e, se voc estiver no UNIX normalmente n o ter estas funies disponveis.
Prottipos:
71
int getch (void);
int getche (void);
getch() espera que o usurio digite uma tecla e retorna este caractere. Voc pode es
tar
estranhando o fato de getch() retornar um inteiro, mas n o h problema pois este int
eiro tal
que quando igualado a um char a convers o feita corretamente. A fun o getche() funcio
na
exatamente como getch(). A diferena que getche() gera um "echo" na tela antes de
retornar a tecla.
Se a tecla pressionada for um caractere especial estas funies retornam zero. Nest

e caso
voc deve usar as funies novamente para pegar o cdigo da tecla extendida pressionada
.
A fun o equivalente a getche() no mundo ANSI o getchar(). O problema com
getchar que o caracter lido colocado em uma rea intermediria at que o usurio digite
um <ENTER>, o que pode ser extremamente inconveniente em ambientes interativos.
putchar
Prottipo:
int putchar (int c);
putchar() coloca o caractere c na tela. Este caractere colocado na posi o atual do
cursor. Mais uma vez os tipos s o inteiros, mas voc n o precisa se preocupar com este
fato. O
header file stdio.h.