Ir ao conteúdo
  • Cadastre-se

Encontrar erro - Arquivo e alocação dinâmica


Posts recomendados

Estou começando a escrever um código, porém está dando um erro e não consigo resolver. 

 

A intenção é ler de um arquivo dados de uma imagem PPM e armazenar numa matriz, usando alocação dinâmica.

 

o compilador está informando esses erros: 

 

 

************arquivo structs.h:

 

#include<stdio.h>

 

#define MAX_FORMACT 126
 
typedef struct{
int R;
int G;
int B;
}pixelPPM;
 
typedef struct{
char formato[MAX_FORMACT];
int largura;
int altura;
int maxCores;
pixelPPM **pixel;
} PPM;
 
PPM leituraPPM(FILE *fPPM);
 
 
********arquivo .c
 
#include<stdio.h>
#include<stdlib.h>
//#include"structs.h"
 
 
PPM leituraPPM(FILE *fPPM){
 
int i=0, j=0, max=0;
PPM ppm1;
 
//pegando o formato do arquivo e verificando se e um PPM
fscanf(fPPM, "%s", ppm1.formato);
if(ppm1.formato!="P2"){
      printf("Arquivo nao e um PGM.\n");
      return ppm1;
}
 
//pegando as dimenções e max de cores da imagem
fscanf(fPPM, "%d %d %d", &ppm1.largura, &ppm1.altura, &ppm1.maxCores);
 
//fazendo alocação de memoria para matriz de pixels
ppm1.pixel = (pixelPPM)malloc( (ppm1.largura) * (ppm1.altura) * sizeof(pixelPPM));
 
//preenchendo matriz de pixels
for(j=0;j<ppm1.altura; j++){
      for(i=0;i<ppm1.largura;i++){
 
       fscanf(fPPM, "%d", ppm1.pixel[j]->R);
       fscanf(fPPM, "%d", ppm1.pixel[j]->G);
       fscanf(fPPM, "%d", ppm1.pixel[j]->B);
 
       }
}
 
return ppm1;
 
}
 
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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