Ir para conteúdo
Fórum Script Brasil

lomba

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre lomba

lomba's Achievements

0

Reputação

  1. Depois de gravar um ficheiro de estruturas, quando tento aceder a esse mesmo ficheiro, toda a informação que tinha sido gravada não existe. Eu estou a usar o compilador codeblocks e quando compilo o programa não me dá erros nem warnings só que quando acedo a um ficheiro gravado não tenho nada gravado. Já revi o código varias vezes e modifiquei o fread e o fwrite mas nada melhorou. As partes do codigo são as seguintes Estruturas utilizadas typedef struct movel{char designacao[25],marca[25];float potencia,hsimples,hvazio,hfvazio;int quantidade; }ELETRO; struct home{char nome[25]; int tam;ELETRO *domestico;}; typedef struct home DIVISAO; Gravar ficheiroDIVISAO* gravar_ficheiro(char *op,DIVISAO *zona, int *n, int *v,int *k, int *s, char *b,char *nome_fich) { FILE *ficheiro; int z, i; printf("\t\t\t ***** Gravar ficheiro *****\nQual o nome do ficheiro?"); maiusculas_pesquisa(zona,v,k,s,b); strcpy(nome_fich,b); if((ficheiro=fopen(nome_fich,"wb"))==NULL) printf("\nNao foi possivel abrir ficheiro"); fwrite(n,sizeof(int),*n,ficheiro); fwrite(zona,sizeof(DIVISAO),*n,ficheiro); for(i=0;i<*n;i++) { fwrite(&zona[i].tam,sizeof(int),zona[i].tam,ficheiro); fwrite(zona[i].domestico,sizeof(ELETRO),zona[i].tam,ficheiro); } z=fclose(ficheiro); if(z!=0) puts("\nProblemas na gravação do ficheiro"); getch(); } return zona; } Abrir ficheiroDIVISAO * abrir_ficheiro( DIVISAO *zona, int *n, int *v, int *k, int *s, char *b, char *nome_fich) { FILE *ficheiro; int z, i; printf("\t\t\t ***** Abrir ficheiro *****\nQual o nome do ficheiro?"); maiusculas_pesquisa(zona,v,k,s,b); strcpy(nome_fich,b); if((ficheiro=fopen(nome_fich,"rb"))==NULL) { puts("\nImpossivel abrir o ficheiro"); getch(); } else { fread(n,sizeof(int),*n,ficheiro); fread(zona,sizeof(DIVISAO),*n,ficheiro); for(i=0;i<*n;i++) { fread(&zona[i].tam,sizeof(int),zona[i].tam,ficheiro); fread(zona[i].domestico,sizeof(ELETRO),zona[i].tam,ficheiro); } z=fclose(ficheiro); if(z!=0) puts("\nProblemas na fecho do ficheiro"); getch(); return zona; } }
×
×
  • Criar Novo...