leitura/escrita de dados/estruturas em arquivo
Publicado por Geraldo José Ferreira Chagas Júnior 14/10/2008
[ Hits: 12.738 ]
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; }
Alfabeto escrito 30 vezes e operação XOR
Manipulação de arquivos CSV - Estruturado
Conversão integral de textos em letras maiúsculas
Nenhum coment�rio foi encontrado.
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Organizando seus PDF com o Zotero
Erro no realm join [Resolvido]
Um programa para baixar vídeos: Parabolic
Como Definir o Painel Principal em Múltiplos Monitores no Linux Mint
Atalhos duplicados (sobras de instalações anteriores) (4)
Driver de rede realtek 8821ce bugado (7)
tentando instalar em um notebook antigo o Linux LegacyOS_2023... (6)