leitura/escrita de dados/estruturas em arquivo
Publicado por Geraldo José Ferreira Chagas Júnior 14/10/2008
[ Hits: 12.850 ]
Homepage: http://prginfo.blogspot.com
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.
#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;
}
Controle de Funcionários (Básico)
Listar arquivos e diretórios com suas propriedades
Agenda (fones, compromissos, aniversários) em C usando arquivos binários
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Instalação dualboot Windows 11 e Debian 13 (0)
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









