leitura/escrita de dados/estruturas em arquivo
Publicado por Geraldo José Ferreira Chagas Júnior 14/10/2008
[ Hits: 13.004 ]
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;
}
Transformando uma sequencia de binário em executável
Editar o arquivo /etc/rc.d/rc.local
Nenhum comentário foi encontrado.
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Resolvendo o bloqueio do Módulo Warsaw no Arch Linux (Porta 30900)
Replicação SYSVOL no Samba 4 com Syncthing
Samba 4 com Replicação e LDAP Seguro (LDAPS/TLS)
Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina
Calculadoras online gratuitas para o dia a dia do usuário Linux
Metafísica e espiritualidade funciona de verdade! Comprovação pessoal (13)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 (6)
Governo da França vai trocar Windows por Linux (8)









