luis0021 Posted June 1, 2012 at 09:30 PM Report #459772 Posted June 1, 2012 at 09:30 PM (edited) Boas Noites ppl, Estou com um dilema no codigo, que consiste em fazer uma funcao para abrir ou ler lista generica. void ler(FILE *fp, PNO cabeca, int tamanho) { PNO ptr; int n = contarElemento(cabeca); fread(&n, sizeof(int), 1, fp); for (ptr=cabeca; ptr; ptr=ptr->prox) { fread(ptr->dados, tamanho, 1, fp); } } o que estou a fazer mal. obrigado e cumprimentos Edited June 1, 2012 at 09:41 PM by pmg LP adicionada ao GeSHi
pmg Posted June 1, 2012 at 09:47 PM Report #459774 Posted June 1, 2012 at 09:47 PM O que e PNO? n = contarElemento(cabeca); loga seguido de fread(&n, sizeof (int), 1, fp); "deita fora" o valor de n. Se nao precisas do valor, nao o calcules!! Tens memoria alocada para todos os ptr->dados? What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
luis0021 Posted June 1, 2012 at 09:59 PM Author Report #459775 Posted June 1, 2012 at 09:59 PM o PNO, e a funcao generica de todo o programa, ou seja, em vez de repetir o codigo fiz uma lista ligada em eles. Sim tenho memoria alocada para todos os ptr->dados. Quando eu vou ler o ficheiro preciso de contar o que ta dentro nao e????
bsccara Posted June 1, 2012 at 10:19 PM Report #459778 Posted June 1, 2012 at 10:19 PM Quando eu vou ler o ficheiro preciso de contar o que ta dentro nao e???? Se já tens os blocos 'dados' alocados significa que já tens a lista montada (os elementos a apontarem para os seguintes). Logo já sabes quantos são. Logo não precisas de contar nada; apenas garantir que não preenches mais do que 'tamanho' elementos. Ou então não percebi o que queres fazer...
Happening Posted June 2, 2012 at 11:38 AM Report #459835 Posted June 2, 2012 at 11:38 AM Se puderes posta também o header para entendermos melhor aquilo que é pretendido.
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