Ir para o conteúdo
Megatron

[Resolvido] Listas Ligadas escrever/ler bin

Mensagens Recomendadas

Megatron

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.

Editado por apocsantos
geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

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

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Megatron

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?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

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

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fipas13

Obrigado pela ajuda, já consegui meter a ler/escrever para ficheiro binario.

Boas,

Estou com a mesma dúvida que levou à abertura deste tópico... Será que me podes mostrar o código utilizado para ler do ficheiro binário para a lista?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

vamos fazer assim:

- crias um tópico teu

- apresentas o código que já tens realizado

- apresentas quais as dúvidas em concreto que te impossibilitam continuar o projecto


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fipas13

vamos fazer assim:

- crias um tópico teu

- apresentas o código que já tens realizado

- apresentas quais as dúvidas em concreto que te impossibilitam continuar o projecto

Feito.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.