Ir ao conteúdo

Posts recomendados

Postado

Olá, eu preciso criar uma função que receba como parâmetro o nome do ficheiro binário e que leia ele e coloque o conteúdo dele em um vetor dinâmico de estruturas e devolve o mesmo.

Vou mandar o que eu já fiz, mas não esta funcionando (acho que ta bem errado).


 

#define MAX 100



typedef struct sala local, *plocal;
struct sala{
    int id;
    int capacidade;
    int liga[3];

}



plocal le_dados(char *ficheiro)
{
    plocal *aux;
    plocal *p;
    int *total;

    FILE* f;
    f = fopen(ficheiro, "rb");
    if(f==NULL){
        printf("\nErro na abertura do arquivo de espaco\n");
        return;
    }
    while(fread(&p, sizeof(local),1,f)== 1){
    fread(&total, sizeof(local), 1, f);
    aux = realloc(p, sizeof(local)*(*total));
    if(aux == NULL){
        printf("Erro na alocacao");
        return;
    }
    p[*total] = aux;
    (*total)++;
    }
    printf("\nLeu o arquivo");
    return p;
}



int main()
{
    int *total;
    plocal espaco= NULL;
    char ficheiro[MAX] = "E2.bin";

   
    espaco = le_dados(ficheiro);

return 0;
}

 

  • Obrigado 1
Postado

Acho que você não pensou no programa todo... Se vai ler de um arquivo qualquer pode ler bytes e mostrar o que tem lá dentro, tipo um dump em hexadecimal.

 

Se quer ler algo estruturado com algum conteúdo que faça sentido, que tal antes GRAVAR algo lá e DEPOIS ler de volta?

  • Curtir 1
Postado

 

17 horas atrás, arfneto disse:

Acho que você não pensou no programa todo... Se vai ler de um arquivo qualquer pode ler bytes e mostrar o que tem lá dentro, tipo um dump em hexadecimal.

 

Se quer ler algo estruturado com algum conteúdo que faça sentido, que tal antes GRAVAR algo lá e DEPOIS ler de volta?

 

Como assim? Gravar algum conteúdo no ficheiro e depois ler de volta? Se for isso, não é o intuito, eu já tenho ficheiros organizados com estruturas do tipo local ali no código e é apenas para eu ler aquilo dos ficheiros e colocar num vetor dinâmico de estruturas.

  • Curtir 1
Postado
3 minutos atrás, João Vitor Santos Nowisck disse:

Como assim? Gravar algum conteúdo no ficheiro e depois ler de volta? Se for isso, não é o intuito, eu já tenho ficheiros organizados com estruturas do tipo local ali no código e é apenas para eu ler aquilo dos ficheiros e colocar num vetor dinâmico de estruturas

 

então você já gravou :) em outro momento. Só isso.

 

Você só não pode achar que vai ler algo que faça sentido se não sabe quem gravou lá. E é claro mais fácil você mesmo gravar na linha anterior. Mesmo porque aí você saberá o que espera ler...

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!