/* freq.c - Don Yang (uguu.org) Generate frequency table. 09/13/01 */ #include #include #include int main(int argc, char **argv) { FILE *infile; int freq[256], i, j; if( argc > 1 ) { if( (infile = fopen(argv[1], "rb")) == NULL ) return printf("Can not open %s\n", argv[1]); } else { infile = stdin; } for(memset(freq, 0, 256 * sizeof(int)); (i = fgetc(infile)) != EOF; freq[i]++); (void)fclose(infile); (void)puts("int Frequencies[256] =\n{"); for(i = 0; i < 32; i++) { printf(" "); for(j = 0; j < 7; j++) printf("%6d,", freq[i * 8 + j]); printf(i == 31 ? "%6d\n};\n" : "%6d,\n", freq[i * 8 + 7]); } return 0; }