joseleeph

Untitled

Jun 5th, 2020
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdint.h>
  4. #include <cs50.h>
  5.  
  6. int main(int argc, char *argv[])
  7. {
  8. //BITMAPFILEHEADER bf;
  9.  
  10.  
  11.  
  12. typedef uint8_t BYTE;// defines a byte as 8 bits
  13.  
  14. FILE *jpgread = fopen(argv[1],"r");
  15. FILE *jpgwrit = NULL;
  16. BYTE buffer[512];
  17. int filenumber = 0;
  18. bool newjpg = false;
  19.  
  20. char imgname[8];
  21.  
  22. if (argc != 2)
  23. {
  24. printf("usage error");
  25. return 1;
  26. }
  27.  
  28. if (jpgread == NULL)
  29. {
  30. printf("usage error");
  31. }
  32.  
  33. while (fread(buffer, 512,1,jpgread) == 1)
  34. {
  35. newjpg = false;
  36. if (buffer[0] == 0xff && buffer[1] == 0xd8 && buffer[2] == 0xff && (buffer[3] & 0xf0) == 0xe0)
  37.  
  38. {
  39. newjpg = true;
  40. }
  41. if (newjpg == true)
  42. {
  43. sprintf(imgname, "%03i.jpg",filenumber);
  44. jpgwrit = fopen(imgname,"w");
  45. //fwrite(jpgwrit,512,1,jpgread);
  46. fwrite(jpgwrit,1,512,jpgread);
  47. filenumber++;
  48. }
  49. else
  50. {
  51. newjpg = false;
  52. continue;
  53. }
  54.  
  55. }
  56.  
  57. if (jpgwrit != NULL)
  58. {
  59. fclose(jpgread);
  60. }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment