Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdint.h>
- #include <cs50.h>
- int main(int argc, char *argv[])
- {
- //BITMAPFILEHEADER bf;
- typedef uint8_t BYTE;// defines a byte as 8 bits
- FILE *jpgread = fopen(argv[1],"r");
- FILE *jpgwrit = NULL;
- BYTE buffer[512];
- int filenumber = 0;
- bool newjpg = false;
- char imgname[8];
- if (argc != 2)
- {
- printf("usage error");
- return 1;
- }
- if (jpgread == NULL)
- {
- printf("usage error");
- }
- while (fread(buffer, 512,1,jpgread) == 1)
- {
- newjpg = false;
- if (buffer[0] == 0xff && buffer[1] == 0xd8 && buffer[2] == 0xff && (buffer[3] & 0xf0) == 0xe0)
- {
- newjpg = true;
- }
- if (newjpg == true)
- {
- sprintf(imgname, "%03i.jpg",filenumber);
- jpgwrit = fopen(imgname,"w");
- //fwrite(jpgwrit,512,1,jpgread);
- fwrite(jpgwrit,1,512,jpgread);
- filenumber++;
- }
- else
- {
- newjpg = false;
- continue;
- }
- }
- if (jpgwrit != NULL)
- {
- fclose(jpgread);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment