Megatron Posted April 29, 2015 at 08:55 PM Report Share #582143 Posted April 29, 2015 at 08:55 PM (edited) Boa noite, tenho uma dúvida em relação a escrever/ler listas ligadas para ficheiros binarios, neste momento, estou a pedir valores e inserir com sucesso numa lista ligada, o problema está depois fazer a escrita/leitura para ficheiro binario, typedef struct utilizador{ char username[100]; char password[100]; char nome[100]; float classificacao; char tipo; }INFO; typedef struct elem{ INFO nodo; struct elem *seguinte; }ELEMENTO; int escreverFicheiro(ELEMENTO *iniLista) { FILE *fp = NULL; ELEMENTO *aux = iniLista; fp = fopen("utilizadores.dat", "wb"); if (fp == NULL) { printf("Erro a abrir o ficheiro \n"); return -1; } while(aux!=NULL) { fwrite(&(aux->nodo), sizeof(INFO), 1, fp); aux=aux->seguinte; } fclose(fp); return 0; } sabem-me dizer se este método de escrita é correto ? e podem-me dar umas luzes para o método de letura.. obrigado. Edited April 29, 2015 at 10:37 PM by apocsantos geshi Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted April 29, 2015 at 09:43 PM Report Share #582155 Posted April 29, 2015 at 09:43 PM se o compilador dá mensagens de erro então o código não está correcto, e como tenho a certeza que ele diz algo, então existe algo na função que não está bem ... para ler, basta usar a função fread e enquanto não falhar a leitura, inseres na lista 1 Report IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Megatron Posted April 29, 2015 at 10:01 PM Author Report Share #582157 Posted April 29, 2015 at 10:01 PM neste momento nao tenho erros, e o ficheiro é criado(codigo acima editado), presumo que esteja a escrever corretamente, em relação a leitura, basta usar o mesmo método que usei para inserir na lista antes da escrever para o ficheiro, mas adaptando-o com o fread? Link to comment Share on other sites More sharing options...
Solution HappyHippyHippo Posted April 29, 2015 at 10:07 PM Solution Report Share #582159 Posted April 29, 2015 at 10:07 PM neste momento nao tenho erros pois, porque alteraste o que lá tens agora ... em relação a leitura, basta usar o mesmo método que usei para inserir na lista antes da escrever para o ficheiro, mas adaptando-o com o fread? a razão de separar o código em funções é para ser fácil reutilizar o código. se tens uma função para inserir na lista, então é essa que será chamada pela função de ler a lista do ficheiro IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Megatron Posted April 30, 2015 at 12:09 AM Author Report Share #582175 Posted April 30, 2015 at 12:09 AM Obrigado pela ajuda, já consegui meter a ler/escrever para ficheiro binario. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now