guys i dont know why but i have sigmentation fault help please
/**
* recover.c
*
* Computer Science 50
* Problem Set 4
*
* Recovers JPEGs from a forensic image.
*/
#include<stdio.h>
#include<cs50.h>
#include<stdlib.h>
#include<stdint.h>
#include<string.h>
int main(void)
{
FILE *fp = fopen("card.raw","r");
if(fp == NULL)
{
fclose(fp);
{
printf("cant open file\n");
return 1;
}
}
FILE *outptr;
int jpgcount = 0;
uint8_t buffer[512];
{
fread(buffer,512,1,fp);
}
while(fread(buffer, 512, 1, fp) > 0)
{
if(buffer[0] == 0xff &&
buffer[1] == 0xd8 &&
buffer[2] == 0xff &&
(buffer[3] == 0xe0 || buffer[3] == 0xe1))
{
{
fclose(outptr);
jpgcount++;
}
char filename[8];
{
sprintf(filename,"%03i.jpg",jpgcount);
}
{
outptr = fopen(filename, "w");
fwrite(buffer, sizeof(buffer), 1, outptr);
}
}
}
fclose(outptr);
fclose(fp);
return 0;
}