• # C rox

    Posté par . En réponse au message manipuler un fichier binaire. Évalué à 1.

    Voici un "essai" codé en C. J'ai pas intensivement testé, donc il peu y avoir des bugs:
    #include <stdio.h>
    #include <string.h>
    static const char sequence[2] = {0xb1,0xb2};
    int main(int argc, char ** argv) {
     int size;
     char buffer[256];
     char * plop;
     FILE * coin;
     if(argc != 2 || (coin = fopen(argv[1],"r")) == NULL)
     return 1;
     while((size = getc(coin)) != EOF) {
     fread(buffer,1,size,coin);
     plop = memchr(buffer, sequence[0],size);
     if(plop == NULL || *(plop+1) != sequence[1]) {
     putchar(size);
     fwrite(buffer,1,size,stdout);
     continue;
     }
     size -= 2;
     memmove(plop,plop+2,size - ( buffer - plop ) -2);
     putchar(size);
     fwrite(buffer,1,size,stdout);
     }
     return 0;
    }