no save
Assistance
Achat
News

Forum | programmation
[C]erreur de compilation et segmentation faul
linksys23, le mer. 06 mai 2009 à 22:21:29
Bonjour,
je développe un programme en C pour traite des images bmp, voici le code de la fonction qui plante :
void rgbSurface(FILE* surface1,unsigned int sizeFile)
{
char nfile[]="",buffer;
FILE *filebmp = NULL;
int i=0,a=0;

printf("entrez le nom du fichier que vous voulez coller: \n");
scanf("%s",nfile);
filebmp = fopen(nfile,"rb+");
printf("choisissez un facteur d'opacite entre 0 (totalement transparant) et 100 (totalement opaque) : /n");
scanf("%d",&a);
a = a/100;
fseek(surface1,0x36,SEEK_SET);
fseek(filebmp,0x36,SEEK_SET);

for(i=0;i<sizeFile-54;i++)
{
buffer=(surface1[i]*a)+(filebmp[i]*(1-a));
fwrite(&buffer,sizeof(BYTE),1,surface1);
}
fclose(filebmp);
}
a la compilation j'ai cette erreur :
lecturebmp.c: In function ‘rgbSurface':
lecturebmp.c:55: erreur: invalid operands to binary * (have ‘FILE' and ‘int')
lecturebmp.c:55: erreur: invalid operands to binary * (have ‘FILE' and ‘int')
et j'ai encore un probleme avec cette fonction :
void bmpreverse(FILE* bmpfile, unsigned int sizeFile) {

char buffer[48] = {0};

int i=0;



fseek(bmpfile,0x36,SEEK_SET);
//0x36 egal la taille de l'entete d'un fichier bmp.
for(i=0;i<sizeFile - 54;i++) {
//54 = 0x36
fread((long*)buffer[i], sizeof(BYTE),1,bmpfile);

}

fseek(bmpfile,54,SEEK_SET);

fwrite(buffer,sizeof(char),sizeFile-54,bmpfile);




}
pour cette fonction c'est le cast qui n'est pas bon mais elle compile quand meme mais elle me fait un segmentation fault.
pouvez-vous m'aidez s'il vous plait.Configuration: Linux
Firefox 3.0.10


loupius
06 mai
Suivant
REPONSES
loupius
06 mai
fiddy
06 mai
linksys23
09 mai
Version Web
Réalisé par RedShift
no save