Boa noite.
Estou tentando criar um programa que leia as informações de um arquivo e as guarde num vetor de struct.
Até agora obtive o seguinte resultado:
#include <stdio.h>#include <stdlib.h>FILE *arquivo;char *nomearq = "veiculo.dat";struct regVeiculo{ char modelo [30]; char cor [20]; char ano [30]; char valor[20];};void MostraTodos() { int reg; struct regVeiculo veiculo; fseek(arquivo,0,SEEK_SET); reg=0; do { fread(&veiculo, sizeof(struct regVeiculo), 1, arquivo); if (feof(arquivo)) break; printf ("\nRegistro numero: %d\n",reg); printf ("Modelo: %s\n",veiculo.modelo); printf ("Cor: %s\n",veiculo.cor); printf ("Ano: %s\n",veiculo.ano); printf ("Valor: %s\n",veiculo.valor); printf ("--------------------------------\n"); reg++; } while(!feof(arquivo)); } void IncluiRegistro() { char lixo[255]; struct regVeiculo novoveiculo; gets(lixo); fseek(arquivo,0,SEEK_END); printf ("\nDigite os dados do veiculo nos campos abaixo:\n"); printf ("\nModelo:"); gets(novoveiculo.modelo); printf ("Cor:"); gets(novoveiculo.cor); printf ("Ano:"); gets(novoveiculo.ano); printf ("Valor:"); gets(novoveiculo.valor); fwrite(&novoveiculo, sizeof(struct regVeiculo), 1, arquivo); printf ("Registro gravado!\n");}int main(void){ arquivo = fopen(nomearq,"ab+"); IncluiRegistro(); MostraTodos(); exit(0);}
O que não estou conseguindo fazer é com que o programa leia as informações do arquivo e as armazene num vetor de struct.
Agradeço qualquer ajuda.