Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
9 - Entra<strong>da</strong>s e saí<strong>da</strong>s padroniza<strong>da</strong>s<br />
9.1 - Introdução<br />
As entra<strong>da</strong>s e saí<strong>da</strong>s padroniza<strong>da</strong>s <strong>do</strong> C fornecem ao programa<strong>do</strong>r uma interface consistente. Esta interface se presta a<br />
entra<strong>da</strong>s e saí<strong>da</strong>s na tela texto e a entra<strong>da</strong>s e saí<strong>da</strong>s em arquivos. Já vimos algumas <strong>da</strong>s funções apresenta<strong>da</strong>s aqui.<br />
Não vamos entrar em detalhes nestas seções pois estas funções podem ser encontra<strong>da</strong>s no manual <strong>do</strong> seu compila<strong>do</strong>r.<br />
Não é objetivo deste curso explicar, em detalhes, funções. A sintaxe completa <strong>da</strong>s funções <strong>do</strong> C podem ser<br />
encontra<strong>da</strong>s no manual <strong>do</strong> seu compila<strong>do</strong>r. Alguns compila<strong>do</strong>res trazem um descrição <strong>da</strong>s funções na aju<strong>da</strong> <strong>do</strong><br />
compila<strong>do</strong>r que pode ser acessa<strong>da</strong> "on line".<br />
Um ponto importante é que agora, quan<strong>do</strong> apresentarmos uma função, vamos, em primeiro lugar, apresentar o seu<br />
protótipo. O leitor já deve ser capaz de interpretar as informações que um protótipo nos passa.<br />
9.2 - Len<strong>do</strong> e Escreven<strong>do</strong> Caracteres<br />
Uma <strong>da</strong>s funções mais básicas que um programa<strong>do</strong>r quer é a entra<strong>da</strong> e saí<strong>da</strong> em dispositivos. Estes podem ser um<br />
monitor, uma impressora ou um arquivo em disco. Vamos ver os principais coman<strong>do</strong>s que a padronização <strong>do</strong> C nos<br />
fornece para isto.<br />
9.2.1 - getche e getch<br />
As funções getch() e getche() não são defini<strong>da</strong>s pelo padrão ANSI. Porém, elas geralmente são incluí<strong>da</strong>s em<br />
compila<strong>do</strong>res basea<strong>do</strong>s no DOS, e se encontram no header file conio.h. Vale a pena repetir: são funções comuns<br />
apenas para compila<strong>do</strong>res basea<strong>do</strong>s em DOS e, se você estiver no UNIX normalmente não terá estas funções<br />
disponíveis.<br />
Protótipos:<br />
int getch (void);<br />
int getche (void);<br />
getch() espera que o usuário digite uma tecla e retorna este caractere. Você pode estar estranhan<strong>do</strong> o fato de getch()<br />
retornar um inteiro, mas não há problema pois este inteiro é tal que quan<strong>do</strong> iguala<strong>do</strong> a um char a conversão é feita<br />
corretamente. A função getche() funciona exatamente como getch(). A diferença é que getche() gera um "echo" na<br />
tela antes de retornar a tecla.<br />
Se a tecla pressiona<strong>da</strong> for um caractere especial estas funções retornam zero. Neste caso você deve usar as funções<br />
novamente para pegar o código <strong>da</strong> tecla extendi<strong>da</strong> pressiona<strong>da</strong>.<br />
9.2.2 - putchar<br />
Protótipo:<br />
int putchar (int c);<br />
putchar() coloca o caractere c na tela. Este caractere é coloca<strong>do</strong> na posição atual <strong>do</strong> cursor. Mais uma vez os tipos<br />
são inteiros, mas você não precisa se preocupar com este fato. O header file é stdio.h.<br />
9.3 - Len<strong>do</strong> e Escreven<strong>do</strong> Strings<br />
9.3.1 - gets<br />
Protótipo:<br />
char *gets (char *s);<br />
Pede ao usuário que entre uma string, que será armazena<strong>da</strong> na string s. O ponteiro que a função retorna é o próprio s.<br />
9.3.2 - puts<br />
Protótipo:<br />
int puts (char *s);<br />
puts() coloca a string s na tela.<br />
Pág. 61