Tiagans
Power Member
Boas malta,
Estou a fazer um programa em que preciso de gravar e ler de ficheiros Binários com Listas Genéricas, para que 2 execuções diferentes do programa não implique perca de dados.
O programa é para um consultório médico, que tem que gravar Especialidades, Médicos, Utentes e Consultas.
A função para gravar em ficheiros é:
void escreve(FILE *fp, PNO cabeca, int tamanho) {
PNO ptr;
int n = conta(cabeca);
fwrite(&n, sizeof(int), 1, fp);
for (ptr = cabeca; ptr; ptr = ptr-> proximo) {
fwrite(ptr->dados, tamanho, 1, fp);
}
}
A função que lê ficheiros é:
void lerficheiro(FILE *fp, PNO cabeca, int tamanho) {
PNO ptr;
int n;
fread(&n, sizeof(int), 1, fp);
for (ptr = cabeca; ptr; ptr = ptr -> proximo) {
fread(ptr->dados, tamanho, 1, fp);
}
}
Só que quando faço imprimir, após gravar em ficheiros e abrir de novo o programa, o programa não imprime.
Alguém me pode ajudar?
Obrigado
Estou a fazer um programa em que preciso de gravar e ler de ficheiros Binários com Listas Genéricas, para que 2 execuções diferentes do programa não implique perca de dados.
O programa é para um consultório médico, que tem que gravar Especialidades, Médicos, Utentes e Consultas.
A função para gravar em ficheiros é:
void escreve(FILE *fp, PNO cabeca, int tamanho) {
PNO ptr;
int n = conta(cabeca);
fwrite(&n, sizeof(int), 1, fp);
for (ptr = cabeca; ptr; ptr = ptr-> proximo) {
fwrite(ptr->dados, tamanho, 1, fp);
}
}
A função que lê ficheiros é:
void lerficheiro(FILE *fp, PNO cabeca, int tamanho) {
PNO ptr;
int n;
fread(&n, sizeof(int), 1, fp);
for (ptr = cabeca; ptr; ptr = ptr -> proximo) {
fread(ptr->dados, tamanho, 1, fp);
}
}
Só que quando faço imprimir, após gravar em ficheiros e abrir de novo o programa, o programa não imprime.
Alguém me pode ajudar?
Obrigado