Baixe o app para aproveitar ainda mais
Prévia do material em texto
Arquivos em C Para trabalharmos com arquivos em C devemos abrir tal arquivo e associá- lo a uma variável do tipo FILE* (Especificamente para arquivos). Sua declaração será: FILE *var01; FILE *var02; Para fazer a associação do arquivo à variável utilizaremos a função fopen(); Que também abrirá o arquivo. Var01=fopen(“arquivo.txt”,”r”); Var02=fopen(“arquivo2.txt”,”w”); Esta função requer 2 parâmetros, o primeiro é o nome do arquivo e o segundo um caracter que representará o que será executado no arquivo. (r – read - leitura) (w de write - gravação). Em algumas situações o programa não consegue abrir o arquivo: 1. O arquivo não existe e você tentou abri-lo para leitura; 2. Não possuir permissão para ler ou gravar no arquivo; 3. O arquivo já está aberto ou bloqueado por outro programa. Depois que a função fopen foi chamada podemos verificar o conteúdo da variável do tipo *FILE para ter certeza se a abertura foi bem sucedida ou não. if( var01 == null ){ printf(“Não foi possível abrir o arquivo \n”); } Gravação em arquivos Para executar uma gravação em um arquivo você deverá abri-lo para gravação e depois disso poderá gravar utilizando o comando fprintf que requer como parâmetro A VARIÁVEL ASSOCIADA AO ARQUIVO onde será gravado e o conteúdo da gravação. fprintf(var02, “Bom dia!”); int x = 100; fprintf(var02, “Conteúdo de x = %d\n”, x); Para gravar em um arquivo não necessariamente ele já deverá existir, caso não exista o mesmo será criado. O mesmo não acontece com arquivos abertos para leitura. Leitura de arquivos Para efetuar a leitura do conteúdo de arquivos o programa deverá abri-lo para leitura e utilizar a função fscanf(); A função FSCANF requer também a variável onde foi associada o arquivo que se deseja ler. Int n1, n2; Fscanf(var01, “%d, %d ”,&n1, &n2); Os valores inteiros foram lidos do arquivo e atribuídos para n1 e n2, respectivamente. Depois que as operações dos arquivos foram realizadas é necessário fechá-los. Para isso utilize a função fclose(nomedavariavel); Fclose(var01); Fclose(var02); OBS: Sempre observe a forma com que os dados foram gravados no arquivo para que seja possível executar a leitura destes sem dificuldade. A ordem de leitura dos dados de um arquivo deve ser obedecida. while( (fscanf(pont,"%s",&nome))!= EOF ) { printf("%s\n",nome); } Exercícios: 1. Crie um algoritmo em C que armazene em um arquivo os números de 100 a 999, somente os pares. Observe o arquivo depois de gravado. Faça com que seja gravado 20 números por linha, separados por um espaço. 2. Crie um algoritmo em C que tenha uma variável FILE* que será associada a um arquivo com permissão de gravação ‘w’. Grave seu nome, sua idade e seu peso neste arquivo. Feche o arquivo. Agora crie outra variável tipo FILE* e associe ao mesmo arquivo que foi criado anteriormente, mas agora com permissão somente de leitura ‘r’. Leia o conteúdo do arquivo e exiba na tela. Feche o arquivo. 3. Crie um algoritmo em C que contenha uma variável do tipo FILE* e associe a um arquivo que não existe. Atribua a permissão de leitura. Faça o tratamento para verificar se o arquivo foi aberto com êxito. 4. Crie um algoritmo em C que deverá armazenar em um arquivo o nome, a idade, o peso e a altura de 5 pessoas; Os dados de cada pessoa deverão ser gravados em uma única linha para facilitar a leitura futura do arquivo. Depois de gravada todas as informações, feche o arquivo que foi aberto para a gravação. Abra o arquivo para leitura. Percorra o conteúdo do mesmo e mostre todos os dados da pessoa mais alta e da pessoa mais leve. 5. Crie um algoritmo em C que contenha um cadastro. Nome, número de conta, agência, limite, saldo inicial. O cadastro deverá ser realizado sempre nesta seqüencia. Crie um menu para realizar a gravação ou a consulta de dados de um cliente. A consulta deverá ser realizada através do número da conta. O usuário fornecerá o número da conta e o algoritmo devolverá todos os dados daquela conta. Ainda deverá conter uma opção para a impressão de todos os dados de todos os usuários cadastrados. 6. Crie um algoritmo em C que grave em um arquivo o nome, a idade, o peso e a altura de 5 pessoas, calcule o IMC destes usuários cadastrados e grave cada um em sua respectiva linha como sendo o último valor da linha. 7. Crie um arquivo de texto em um diretório específico contendo uma lista de produtos e preços. Cada linha conterá um produto e um valor, separados por um espaço e sem o uso do (R$). Grave manualmente no arquivo pelo menos 15 produtos. Depois de criado o arquivo crie um algoritmo no mesmo diretório que tenha uma variável FILE* que irá apontar para este arquivo com permissão de leitura. Crie uma lógica que mostre o nome e o valor do produto mais barato, produto mais caro e a média dos valores.
Compartilhar