/* bitpacker.c * pakkaa tai purkaa kokonaislukutaulukon tiedostoon * tallettaen vain halutun määrän bittejä per luku. * * tallennus: bitpacker w lukum bitit tiedostonimi tiedosto * */ #include #include #include #include "psave.h" int main(int argc, char *argv[]) { unsigned *a; int nums, bits, count=0, i; FILE *f; if (argc!=5 || !strchr("rw",*argv[1]) || !sscanf(argv[2],"%d",&nums) || !sscanf(argv[3],"%d",&bits)) { fprintf(stderr,"usage: %s r|w numbers bits file\n", argv[0]); exit(EXIT_FAILURE); } if (!(a = malloc(nums * sizeof(int)))) { fprintf(stderr,"Out of memory\n"); exit(EXIT_FAILURE); } switch(*argv[1]) { case 'w': while (count