1 /* A simple but fairly efficient C version of the Unix "wc" tool */
2
3 #include <stdio.h>
4 #include <ctype.h>
5
6 main()
7 {
8 int c, cc = 0, wc = 0, lc = 0;
9 FILE *f = stdin;
10
11 while ((c = getc(f)) != EOF) {
12 ++cc;
13 if (isgraph(c)) {
14 ++wc;
15 do {
16 c = getc(f);
17 if (c == EOF)
18 goto done;
19 ++cc;
20 } while (isgraph(c));
21 }
22 if (c == '\n')
23 ++lc;
24 }
25 done: printf( "%8d%8d%8d\n", lc, wc, cc );
26 }