Here's my code:
int main(int argc, char* argv[])
{
FILE* card = fopen("card.raw", "r");
if (card == NULL)
{
printf ("File doesn't exist");
return 1;
}
uint8_t cardMemo[512];
if (cardMemo == 0)
{
printf ("Out of Memory");
return 2;
}
int t = 0;
FILE* image = NULL;
while (fread(&cardMemo, 512, 1, card) == 1)
{
if (cardMemo[0] == 0xff && cardMemo[1] == 0xd8 && cardMemo[2] == 0xff && (cardMemo[3] == 0xe0 || cardMemo[3] == 0xe0))
{
//close previous image, if any
if (image != NULL)
fclose(image);
//setting for title
char title[8];
if (t<10)
sprintf (title, "00%i.jpg", t);
else if (t>=10)
sprintf (title, "0%i.jpg", t);
//create JPG
image = fopen(title, "a");
fwrite(&cardMemo, 512, 1, image);
t++;
}
else
{
if (image != NULL)
fwrite(&cardMemo, 512, 1, image);
}
}
fclose(image);
}