leitura/escrita de dados/estruturas em arquivo
Publicado por Geraldo José Ferreira Chagas Júnior 14/10/2008
[ Hits: 12.793 ]
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; }
Compactando arquivos de log *.txt
Gerenciamento de alunos com dados armazenados em arquivo
Agenda (fones, compromissos, aniversários) em C usando arquivos binários
Nenhum coment�rio foi encontrado.
Conciliando ZRAM Swap com Swap em arquivo ou partição
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Proteja seu Linux Mint com o Timeshift: Restaure o sistema mesmo que ele não inicie!
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Ajuda com o Debian 13 - Video hibrido geforce 940 mx Wayland OFF (2)
Problema com impressoras de rede (1)
Rust é o "C da nossa geração"? (10)