Trabalhando com arquivos em c
A principio as informações que os programas utilizam são perdidas quando eles são finalizados ou quando o computador é desligado. Isso porque as variáveis de um programa ficam armazenadas na memória primária, que é volátil, isto é, perde seu conteúdo. Quando você não quer perder as informações de seu programa, tendo-as a mão para a sua próxima execução, você deve guardá-las em um arquivo. Os arquivos são estruturas especiais que ficam armazenadas na memória secundária do computador (disquete, disco rígido...) e que servem para guardar as informações enquanto um programa não está em execução, pois elas não são voláteis. O processo de utilização de um arquivo envolve, no mínimo, três etapas: criação ou abertura do arquivo, gravação ou leitura de dados no arquivo e fechamento do arquivo. Na primeira etapa, se o arquivo ainda não existir na memória secundária, ele deve ser criado. Caso o arquivo já existir (pelo fato de ter sido criado em uma execução anterior do programa) ele pode ser aberto para que novos dados sejam acrescentados ou para que os dados guardados nele possam ser lidos. Os arquivos podem ser de dois tipos: tipo texto e tipo binário. A escolha se um arquivo é texto ou binário depende do tipo de sua aplicação. Se você for armazenar textos para serem lidos em outro lugar (como um editor de texto ou um relatório), você deve utilizar um arquivo do tipo texto. Se você for armazenar dados sobre alguma pessoa ou objeto (tipo registro ou estrutura), você deve utilizar um arquivo binário, pois, além de ocupar menos espaço no armazenamento das informações, ele as protege um pouco de outros programas bisbilhoteiros. A segunda etapa é a que efetivamente lê ou grava dados no arquivo. A linguagem C oferece funções específicas de leitura e de escrita de dados em um arquivo. Se o arquivo for do tipo texto (como este que você está lendo), você deve utilizar funções específicas para arquivos-texto. Se ele for binário (do tipo que