Advertisement
jfan14

Untitled

Sep 20th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc, char *argv[]) {
  5.   if (argc < 2) {
  6.     printf("Usage: %s FILENAME\n", argv[0]);
  7.     exit(1);
  8.   }
  9.   FILE *fp = fopen(argv[1],"r");
  10.   int counter = 1;
  11.   int c = fgetc(fp);
  12.   char prev = (char)c;
  13.   while(1){
  14.     int d = fgetc(fp);
  15.     //prev = c;
  16.     if(d == EOF){
  17.       //fputc((char)counter,stdout);
  18.       fwrite(&counter,sizeof(int),1,stdout);
  19.       fwrite(&prev,sizeof(char),1,stdout);
  20.       break;
  21.     }else if(d != prev){
  22.       fwrite(&counter,sizeof(int),1,stdout);
  23.       fwrite(&prev,sizeof(char),1,stdout);
  24.       prev = (char)d;
  25.       counter = 0;
  26.     }else{
  27.       counter++;
  28.     }
  29.  
  30.   }
  31.   fclose(fp);
  32.  
  33.   return 0;
  34. }
  35.  
  36. [jfan14@fourier 02]$ cat tests/9.out tests-out/9.out
  37. :a
  38. b
  39. c
  40. d
  41. ye
  42. :a
  43. b
  44. c
  45. d
  46. xe
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement