leitura/escrita de dados/estruturas em arquivo

Publicado por Geraldo José Ferreira Chagas Júnior 14/10/2008

[ Hits: 12.616 ]

Homepage: http://prginfo.blogspot.com

Download dados.c




Já vi dúvidas de pessoas com relação à gravação de dados em forma de estrutura em um arquivo. Como isso é pedido constantemente no primeiro período das faculdades de "Informática", resolvi postar esse exemplo.

Ele não é o trabalho completo, afinal, é para "queimarem" a cabeça, mas dará o pontapé inicial para quem precisar.

  



Esconder código-fonte

#include <stdio.h>

typedef struct Taluno
{
   char nome[20];
   int idade;
} Taluno;

Taluno aluno, raluno;

int main(void)
{
   /* aqui pode usar o strcpy, mas preferir por caracter x caracter para melhor visualizacao do que esta ocorrendo */
   aluno.nome[0] = 'F';
   aluno.nome[1] = 'u';
   aluno.nome[2] = 'l';
   aluno.nome[3] = 'a';
   aluno.nome[4] = 'n';
   aluno.nome[5] = 'o';
   aluno.nome[6] = '\ 0';

   aluno.idade = 10;

   FILE *file;

   /* abrindo o arquivo para escrita */
   if (!(file=fopen("teste.txt","w+"))) return 0;

   /* gravando os dados */
   fwrite (&aluno, 1, sizeof (Taluno), file);

   close (file);

   /* apenas para separar a escrita da leitura em 2 tempos */
   /* vou usar variaveis diferentes apenas para realmente verem que realmente a leitura esta sendo feita totalmente independente da escrita, nao quero deixar duvida  */
   printf ("precione qualquer <ENTER> para continuar ...\n");
   getchar();

   FILE *filer;

   /* abrindo o arquivo para leitura */
   if (!(filer=fopen("teste.bkp","r"))) return 0;

   long ret;

   /* lendo o arquivo */
   ret = fread (&raluno, 1,sizeof (Taluno), filer);
   
   if (ret > 0)
   {
      /* imprimindo o conteudo lido */
      printf ("Nome: %s\nidade: %d anos\n", raluno.nome, raluno.idade);
   }

   close (filer);
   return 1;
}

Scripts recomendados

codificador de texto

NetAgenda 0.04

Organizador de filmes para o IMDB

Cadastro de arquivo usando ncurses como menu

read_sql_conf


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts