/* A simple but fairly efficient C version of the Unix "wc" tool */ | |
#include <stdio.h> | |
#include <ctype.h> | |
main() | |
{ | |
int c, cc = 0, wc = 0, lc = 0; | |
FILE *f = stdin; | |
while ((c = getc(f)) != EOF) { | |
++cc; | |
if (isgraph(c)) { | |
++wc; | |
do { | |
c = getc(f); | |
if (c == EOF) | |
goto done; | |
++cc; | |
} while (isgraph(c)); | |
} | |
if (c == '\n') | |
++lc; | |
} | |
done: printf( "%8d%8d%8d\n", lc, wc, cc ); | |
} |