Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Johnny Digital

[C] Ajuda: Structs e malloc (Resolvido)

Mensagens Recomendadas

Johnny Digital    0
Johnny Digital

boas

se tiver uma struct como a q se segue:


typedef struct {
        int n;
        HASH h[CAPACIDADE];
        long int p[CAPACIDADE];
} FOLHA;

para allocar memoria para a mesma, basta fazer:

FOLHA *F;
f = (FOLHA*)malloc (sizeof(FOLHA));

tá correcto ? :)

é q ao fazer operações com files como

fwrite (folha, sizeof(FOLHA), 1, f);

ou

fread (folha, sizeof(FOLHA), 1, f);

a estrutura vem corrompida  :down:

já me estou a passar uma beca... alguem me pode dar uma dica?

thanks ;)

joão

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
TheDark    0
TheDark

O código que puseste aí está inconsistente, mas supondo que no fwrite e no fread folha é um apontador para FOLHA e f é um FILE, abriste f como ficheiro binário? Se não, não estou a ver problemas, só vendo o código que estás a usar.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Johnny Digital    0
Johnny Digital

O código que puseste aí está inconsistente, mas supondo que no fwrite e no fread folha é um apontador para FOLHA e f é um FILE, abriste f como ficheiro binário? Se não, não estou a ver problemas, só vendo o código que estás a usar.

sim, folha é um apontador para FOLHA e o ficheiro foi aberto como binario...

Acho que te falta aí um &:

fwrite (&folha, sizeof(FOLHA), 1, f);

não falta pq folha é um apontador...

Partilhar esta mensagem


Link 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 a nossa Política de Privacidade