Estou tendo problemas com a leitura de dados em um arquivo binário.
Ele lê normalmente na primeira parte, que descobre o número de times no arquivo. Então, eu precisaria salvar os dados desse time nesse arquivo, mas onde faz a alocação ele não lê o arquivo (fiz só um teste para ver se entra no if, mas nada)
Se puderem me ajudar, agradeço!
typedef struct {
char nome[TAM_NOME];
//0 goleiro, 1 zagueiro, 2 lateral, 3 volante, 4 meio, 5 atacante
unsigned int posicao;
unsigned int gols_marcados;
unsigned int bolas_roubadas;
unsigned int numero_jogos;
unsigned int finalizoes_certas;
unsigned int finalizoes_erradas;
unsigned int faltas_recebidas;
unsigned int faltas_cometidas;
unsigned int cartoes_vermelhos;
unsigned int cartoes_amarelos;
unsigned int penalti_defendidos;
unsigned int defesas;
} jogador_t;
typedef struct {
char nome[TAM_NOME];
char estado[3];
unsigned int dia_fundacao;
unsigned int mes_fundacao;
unsigned int ano_fundacao;
unsigned int numero_tit_brasileiros;
unsigned int numero_copas_brasil;
unsigned int numero_tit_libertadores;
unsigned int numero_tit_estadual;
jogador_t jogadores[NUM_JOGADORES];
} times_t;
times_t *le_times(const char *arquivo, unsigned int *numero_de_times){
int i, j, teste, temp, testa, x;
FILE *ptr;
ptr=abre_arquivo("arq.dat");
rewind(ptr);
times_t descobre;
//descobre o numero de times no arquivo
for (i=1; i>=0; i++){
teste = fread(&descobre,sizeof(descobre),1, ptr);
if (teste != 1){
temp = i-1;
break;
}
}
//aloca memoria e le o numero de times - TÁ DANDO PAU AQUI
times_t *le = (times_t *) malloc(sizeof(times_t));
testa = fread(&le[0], sizeof(times_t), 1, ptr);
printf("%i\n", testa);
for (j=1; j<temp; j++){
le = (times_t *) realloc(le, (j+1)*sizeof(times_t) );
testa = fread(&le[j], sizeof(times_t), 1, ptr);
if(testa != 0){
printf("Teste\n");
}
}
return temp;
}
Pergunta
Luiz.Sabbagh
Boa noite,
Estou tendo problemas com a leitura de dados em um arquivo binário.
Ele lê normalmente na primeira parte, que descobre o número de times no arquivo. Então, eu precisaria salvar os dados desse time nesse arquivo, mas onde faz a alocação ele não lê o arquivo (fiz só um teste para ver se entra no if, mas nada)
Se puderem me ajudar, agradeço!
Editado por Luiz.SabbaghLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.