Ir ao conteúdo

Posts recomendados

Postado

Boa noite, tenho uma dúvida, esse código que fiz aqui é para tentar mostrar a minha dificuldade, preciso chamar um struct dentro de outro struct, porém usando ponteiro, até ai tudo bem, porém ao usar arquivo, travei :( alguém da um help de como salvar isso corretamente, e alguma ideia de um código que consiga ler sem erros esse arquivo?

#include <stdio.h>
#include <stdlib.h>

typedef struct{

    char nome[50];
    double valor;

}Produto;

typedef struct{

    Produto *x;
    int quantidade;

}Loja;

int main(){

    Loja p;

    FILE *f1;
    f1 = fopen("TESTE.bin", "ab");

    printf("\nQuantidade de produtos: ");
    scanf("%d", &p.quantidade);

    p.x = calloc(p.quantidade, sizeof(Produto));

    for(int i=0; i<p.quantidade; i++){

        printf("\nNome: ");
        scanf("%s", p.x[i].nome);
        printf("\nPreco: ");
        scanf("%lf", &p.x[i].valor);

    }

    fwrite(&p, sizeof(Loja), 1, f1);

    free(p.x);
    fclose(f1);

    return 0;
}

 

Postado
20 horas atrás, Asrety disse:

p.x = calloc(p.quantidade, sizeof(Produto));

Também não curti essa estratégia. Melhor/ cá pra mim /é alocar tudo tanto a lista quanto a quantidade

Observe que se Loja tem a seguinte estrutura

typedef struct 
{       int       quantidade;
        Produto * produtos;
} Loja;

 

Basta agora inicializar ...

Loja * shop;

shop= malloc( sizeof(int) + sizeof(Produto) * qtd );
shop->quantidade= qtd;

 

  • Obrigado 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!