(root)/
flex-2.6.4/
examples/
fastwc/
mywc.c
       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  }