Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?

Arquivos (Files) em C

Neste tutorial de nossa apostila de C, daremos início a uma importante seção de nosso curso, sobre os arquivos (Files), em linguagem C.

Dados temporários x Dados permanentes

Se notar bem, até o momento, em nossa apostila, todos os nossos programas iniciavam sempre do mesmo jeito, em relação aos dados.

Quando abríamos, informávamos variáveis diversas, como números e strings.
Eles executam comandos que programamos e, ao fecharem, essas informações eram todas perdidas em nossa máquina.
E ao iniciá-los de novo, tudo voltava a rodar do zero.

Resumindo: nossos dados, variáveis e tudo mais, eram temporários.
Basta desligar o programa, sistema operacional ou computador, que tudo que tínhamos feito iria embora.

Mas é assim normalmente?
Quando você inicia seu sistema operacional, ele começa tudo do zero?
Sem variáveis, sem informações?

Claro que não. Suas pastas estão lá, com seus arquivos de texto, música e imagens.
Ou seja, o programas que rodam, de alguma maneira, fazem com que estas informações fiquem registradas em sua máquina de maneira permanente.

Imagine que você implementou uma lista em C, centenas de linhas de código, muitas ideias e algoritmos. Essa lista é usada em uma farmácia para armazenar os dados de todos os remédios, com seus nomes, indicações, contra-indicações, valores, unidades em estoque etc.

Ok, isso é perfeitamente possível de se criar, e o ensinamos com o uso da lista.
Mas será que o dono do estabelecimento iria gostar de colocar todas as informações, sobre todos os medicamentos, sempre que ligasse o que computador?

Óbvio que não. Por isso, precisamos aprender não só como gravar informações de maneira permanente, mas também ler, alterar e apagá-las.

Arquivos em C - O que são e para que servem

Já reparou que, quando você vai jogar aquele game que você adora você põe seus dados, aí joga de boas, e quando vai abrir ele de novo vê que ele guardou seu nome, pontuação e situação do jogo que você estava? Já parou para pensar como isso ocorre?

A resposta é bem simples: eles armazenam essa informação em alguma local de seu computador, em arquivos. Assim, ao iniciar o programa de novo, o jogo simplesmente vai lendo essas informações para saber de onde começar, que dados exibir.

E é exatamente isso que vamos fazer ao estudar arquivos em C.
Iremos aprender como interagir com o sistema, como:

  • ler arquivos de textos
  • escrever em arquivos (ao invés de imprimir na tela, imprimir em arquivos)
  • apagar e substituir informações em arquivos
  • após rodar nosso aplicativo, salvar nossos valores
  • usar dados armazenados em arquivos para usar em nossos programas

Poderemos, por exemplo, criar um jogo que pode salvar nossa pontuação para continuarmos depois.
Assim é possível criar um jogo da Forca, ondas as palavras para serem adivinhadas ficam em arquivos de textos, sendo possível o usuário ir nesses arquivos e adicionar mais palavras para o jogo.

Enfim, é um mundo de novas e interessantes opções que teremos ao fazer uso de arquivos em nossos aplicativos em C.



Comandando um Sistema Operacional através do uso de Arquivos

Escrever, ler, apagar e editar arquivos é um assunto básico e essencial, que praticamente toda linguagem de programação permite. Porém, dependendo de seu sistema operacional, esse recurso pode ser pouco útil ou pode ser que lhe dê todo o poder do mundo.

Em sistemas operacionais derivados do Unix, como o Linux e os *BSD, praticamente tudo é feito usando arquivos de texto, como os .txt que você utiliza.

Quer adicionar um usuário? Pode adicionar através de arquivo de texto.
Quer montar uma rede? Configure alguns textos.
Quer baixar algum aplicativo ou fazer uma atualização? Use uns comandos no terminal, em texto.

Até para definir o brilho de sua tela, é possível fazer simplesmente alterando o conteúdo de arquivos de texto.
E como dissemos, é possível alterar, ler, apagar e escrever em arquivos através da linguagem C.
O que isso nos diz?

Sim, sabendo programar e usando sistemas operacionais, como Linux, é possível revirar o sistema de ponta cabeça, fazendo o que você quiser.
Por isso indicamos que use, pelo menos para experimentar, esse maravilhoso Sistema.

Ao contrário do que muitos pensam, não é difícil, para instalar basta colocar um pendrive ou dvd  de uma ISO, e está feito. É possível instalar e usar tudo no modo gráfico.

É um sistema simplesmente perfeito para quem é envolvido com programação.
O sistema já vem com diversos compiladores e IDE's, prontinho para você programar.

Infelizmente tal liberdade não é, nem de longe, possível com sistemas fechados, como o Windows.
Neste sistema, se quiser ajustar ou mudar algo na configuração, provavelmente terá que ir no Painel de Controle e executar algum aplicativo (binário), que obviamente é fechado, não sendo possível usar através de arquivos de texto, até porque não sabemos como é o funcionamento de tais programas.

Mas independente de seus sistema, verá que usar arquivos em seus programas em C os fará bem mais flexíveis e úteis.

Um comentário:

Unknown disse...

Olá, boa tarde, quero apenas agradecer a dedicação que deram a esse tutorial e dizer que, após uma longa caminha, finalmente chegamos a parte mais interessante da Programação, seja ela em C ou qualquer outra língua.
Mais uma vez, obrigado pelo blog/site/tutorial/tudo.