22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

sist<strong>em</strong>a e a impressora conectada ao computador. Por ex<strong>em</strong>plo, o programa<br />

#include <br />

main()<br />

{<br />

int i;<br />

for (i = 0; i < 10; i++)<br />

fprintf(stdprn, "Estou aprendendo a programar <strong>em</strong> C \n");<br />

}<br />

imprime, através da impressora conectada ao computador, dez vezes a frase Estou aprendendo a programar<br />

<strong>em</strong> C, uma vez <strong>em</strong> cada linha.<br />

Um terceiro fluxo pré-definido é stdin que aponta para um arquivo que administra a relação do sist<strong>em</strong>a<br />

com o dispositivo de entrada padrão, <strong>em</strong> geral o teclado. Isto explica a chamada de fflush(stdin) comentada<br />

no capítulo 5.<br />

Exibindo um arquivo texto<br />

A biblioteca da linguag<strong>em</strong> C dispõe de uma função capaz de "ler" uma linha de um arquivo texto,<br />

armazenando-a num ponteiro de caracteres. Trata-se da função de protótipo<br />

char *fgets(char *s, int n, FILE *p);<br />

que lê uma quantidade x de caracteres do arquivo associado a p e os armazena <strong>em</strong> s, como uma string. A<br />

quantidade de caracteres x é inferior ou igual a n, sendo inferior quando uma marca de fim de linha é<br />

atingida, ou seja, quando o caractere indicado por \n é encontrado. Quando o fim de arquivo é alcançado, a<br />

função retorna NULL.<br />

Com fgets() é possível exibir o conteúdo de um arquivo texto com a seguinte função:<br />

#include <br />

void ExibeArquivoTexto(char *s)<br />

{<br />

FILE *p;<br />

char *Linha, *Fim;<br />

p = fopen(s, "rt");<br />

Fim = fgets(Linha, 80, p);<br />

while (Fim != NULL)<br />

{<br />

printf("%s", Linha);<br />

Fim = fgets(Linha, 80, p);<br />

}<br />

}<br />

Se este arquivo adicionado da função<br />

main()<br />

{<br />

char *NomeArq;<br />

puts("Digite o nome do arquivo");<br />

scanf("%s", NomeArq);<br />

ExibeArquivoTexto(NomeArq);<br />

}<br />

for gravado com o nome ExibText.c, sua execução para a entrada exibtext.c exibe o seu próprio conteúdo.<br />

Utilizando um arquivo texto como entrada de dados

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!