tou com uma duvida, ou mesmo um problema....é que tou fazendo uma base de dados e empanquei no metodo de guadar/carregar a lista, epero que vccs deem uma ajuda..bem eu vou postar o que fiz..
ou seja neste código eu estou a passar os valores da estrutura original para uma estrutura auxiliar e "tdoentes" é a variavel da estrutura
este é o metodo que carrega do ficheiro
Pergunta
tuga
oi pessoal
tou com uma duvida, ou mesmo um problema....é que tou fazendo uma base de dados e empanquei no metodo de guadar/carregar a lista, epero que vccs deem uma ajuda..bem eu vou postar o que fiz..
este é o metodo que guarda num ficheiro
guardardoentes(void) { FILE *fp; Aptdoentes j = doentes; tdoentesaux jaux; fp=fopen("Doentes.dat","w"); while(j!=NULL) { strcpy(jaux.num,j->doente1.get_num()); strcpy(jaux.nome,j->doente1.get_nome()); strcpy(jaux.morada,j->doente1.get_morada()); strcpy(jaux.tlf,j->doente1.get_tlf()); strcpy(jaux.tlm,j->doente1.get_tlm()); strcpy(jaux.sexo,j->doente1.get_sexo()); strcpy(jaux.bi,j->doente1.get_bi()); strcpy(jaux.data_nasc,j->doente1.get_data_nasc()); jaux.numEpisodios -> j->doente1.getnumepisodios(); fwrite(&jaux,sizeof(tdoentesaux),1,fp); getchar(); j=j->next; } fclose(fp); }ou seja neste código eu estou a passar os valores da estrutura original para uma estrutura auxiliar e "tdoentes" é a variavel da estrutura este é o metodo que carrega do ficheirocarregardoentes(void) { FILE *fp; fp = fopen("Doentes.dat","r"); doentes = NULL; tdoentesaux jaux; while(fread(&jaux, sizeof(tdoentesaux),1,fp)!=0) { Doente j(jaux.num ,jaux.nome ,jaux.morada ,jaux.tlf ,jaux.tlm ,jaux.sexo ,jaux.bi ,jaux.data_nasc,jaux.numEpisodios); j.printdoente(); inserir(j); } printf("\n Doentes carregados!!!\n\n"); getchar(); fclose(fp); }ou seja lê a variavel da estrutura cria o objecto e insere na lista
o problema é que uns valores aparecem trocados e alguns até aparecem 2 valores numa só variavel
se encontrarem algum erro no código ou tiverem uma ideia mais simples em como fazer digam qualquer coisa
obrigado
Link para o comentário
Compartilhar em outros sites
1 resposta 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.