pages.c 826 B

12345678910111213141516171819202122232425262728293031323334
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. int main(int argc, char** argv)
  5. {
  6. //read file
  7. FILE * jobFile;
  8. char line[1024];
  9. char str[8];
  10. int num_pages = 0;
  11. char path_to_file[27] = "/var/spool/cups/d";
  12. jobFile = fopen (strcat(strcat(path_to_file,argv[1]),"-001"),"r");
  13. if (jobFile == NULL){fprintf(stderr, "Error open file");}
  14. else {
  15. while( fgets(line, sizeof(line), jobFile) != NULL ) {
  16. strncpy( str, line, 7 );
  17. str[7] = '\0';
  18. if(!strcmp(str,"%%Pages") && (line[9]<='9' && line[9]>='0')){
  19. int i=9;
  20. while(line[i]!='\0' && line[i]<='9' && line[i]>='0'){
  21. num_pages = num_pages*10 + (line[i]-'0');
  22. i++;
  23. }
  24. fclose(jobFile);
  25. }
  26. }
  27. printf("%d\n",num_pages);
  28. fclose(jobFile);
  29. }
  30. return 0;
  31. }