Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, char *argv[]) {
- if (argc < 2) {
- printf("Usage: %s FILENAME\n", argv[0]);
- exit(1);
- }
- FILE *fp = fopen(argv[1],"r");
- int counter = 1;
- int c = fgetc(fp);
- char prev = (char)c;
- while(1){
- int d = fgetc(fp);
- //prev = c;
- if(d == EOF){
- //fputc((char)counter,stdout);
- fwrite(&counter,sizeof(int),1,stdout);
- fwrite(&prev,sizeof(char),1,stdout);
- break;
- }else if(d != prev){
- fwrite(&counter,sizeof(int),1,stdout);
- fwrite(&prev,sizeof(char),1,stdout);
- prev = (char)d;
- counter = 0;
- }else{
- counter++;
- }
- }
- fclose(fp);
- return 0;
- }
- [jfan14@fourier 02]$ cat tests/9.out tests-out/9.out
- :a
- b
- c
- d
- ye
- :a
- b
- c
- d
- xe
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement