ketan18710

Untitled

Mar 18th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main(int argc, char *argv[])
  4. { int n=0;
  5. // ensure proper usage
  6. if (argc != 2)
  7. {
  8. fprintf(stderr, "Usage: ./copy infile outfile\n");
  9. return 1;
  10. }
  11. char *infile = argv[1];
  12. // open input file
  13. FILE *inptr = fopen(infile, "r");
  14. if (inptr == NULL)
  15. {
  16. fprintf(stderr, "Could not open %s.\n", infile);
  17. return 2;
  18. }
  19. int *buffer = malloc(512*sizeof(int));
  20. while (fread(buffer,512,1,inptr)==1)
  21. { int flag =0;
  22. for(int i=0;i<512;)
  23. { while(buffer[i]!=EOF)
  24. { if((buffer[i]==0xff&&buffer[i+1]==0xd8&&buffer[i+2]==0xff&&(buffer[i+3] & 0xf0)==0xe0)&&flag==0)
  25. { flag =1;
  26. char *a=NULL;
  27. sprintf(a,"%03i.jpg",n);
  28. n++;
  29. FILE *img = fopen(a,"w");
  30. for(int j=0;j<4;j++)
  31. {
  32. fwrite(buffer,1,1,img);
  33. }
  34. i +=4;
  35. while(!(buffer[i]==0xff&&buffer[i+1]==0xd8&&buffer[i+2]==0xff&&(buffer[i+3] & 0xf0)==0xe0))
  36. {
  37. fwrite(buffer,1,1,img);
  38. i++;
  39. }
  40. if(buffer[i]==0xff&&buffer[i+1]==0xd8&&buffer[i+2]==0xff&&(buffer[i+3] & 0xf0)==0xe0)
  41. {
  42. fclose(img);
  43. }
  44.  
  45. }
  46. }
  47. }
  48. }
  49. fclose(inptr);
  50. }
Add Comment
Please, Sign In to add comment