Buscar

Arquivos em C

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.

Continue navegando

Outros materiais