Jump to content

Listas Ligadas escrever/ler bin


Megatron
 Share

Go to solution Solved by HappyHippyHippo,

Recommended Posts

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 by apocsantos
geshi
Link to comment
Share on other sites

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

  • Vote 1
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

  • Solution

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
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.