Ir para conteúdo
Fórum Script Brasil
  • 0

guardar e carregar lista


tuga

Pergunta

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 ficheiro
carregardoentes(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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...