File: countall.c

package info (click to toggle)
enca 1.13-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 4,440 kB
  • ctags: 1,230
  • sloc: sh: 11,125; ansic: 10,330; xml: 2,926; makefile: 698; perl: 232
file content (28 lines) | stat: -rw-r--r-- 440 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <ctype.h>
#include <stdio.h>

#define isbinary(x) (iscntrl(x) || (x) == 127)

#define FILL_CHARACTER '.'

int
main(void)
{
  unsigned long int count[0x100];
  int i, c;

  for (i = 0; i < 0x100; i++)
    count[i]=0;

  while ((c = getchar()) != EOF)
    count[c]++;

  for (i = 0; i < 0x100; i++) {
    if (count[i]) {
      printf("0x%02x ", i);
      printf("%c %lu\n", isbinary(i) ? '.' : i, count[i]);
    }
  }

  return 0;
}