Manipulação de Ficheiros de Texto em Linguagem C – streams

Streams

A Linguagem C processa todas as entradas e saídas de dados mediante a utilização de streams.
Assim sendo as entradas e saídas são tratadas como uma sequência de Bytes, podendo fazer-se uma analogia com as carruagens de um comboio.
Imagine-se a digitar a palavra “MARIA” e as letras (bytes) a serem enviadas sequencialmente para o seu programa!

Desta forma é possível lidar com as entradas e saídas de dados sem nos preocuparmos com os dispositivos de hardware envolvidos. O que pretendo dizer com isto é que o destino do nosso comboio não é importante, pois o processo será o mesmo.

Se juntarmos a esta informação que “Tudo no Linux é tratado como ficheiros”, e que alguns streams não correspondem a um ficheiro armazenado no disco, como é o caso do teclado, facilmente nos apercebemos do potencial da sua utilização.

É por esta razão que sempre estamos a executar um programa escrito em Linguagem C são abertos pelo menos cinco ficheiros:

stdin – “standard input” – normalmente associado ao teclado.

stdout – “standard output” – normalmente associado ao ecrã.

stderr – “standard error” – local para onde são enviadas as mensagens de erro de um programa.

stdaux – “aux device” – porta principal de comunicações.

stdprn – “standard printer” – impressora predefenida.

E para terminar segue-se um lista de exemplos de comandos que executam exactamente a mesma tarefa, mas com uma sintaxe ligeiramente diferente. A verde o comando usual e a vermelho recorrendo explicitamente a ficheiros:

printf(“Hello World!”); fprintf(stdout,”Hello World!”);

puts(“Olá Maria”); fputs(“Olá Maria\n”,stdout);

scanf(“%d”, &a); fscanf(stdin, “%d”, &a);

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s