/* wc command for DOS without options Program counts number of lines, words and characters in a file -------------------------------------- USAGE : wc filename OUTPUT : #ofLine #ofWord #ofCharacter filename EXAMPLE: wc test.php 20 355 1546 test.php -------------------------------------- Ahmet Bingul ,March 2002, Gaziantep/TURKEY bingul@gantep.edu.tr */ #include #include #include #define CR '\n' /* carriage return */ #define TAB '\t' /* horizontal tab */ #define SPACE ' ' /* space */ #define ZERO 0u main( argnum,argvec ) int argnum; char *argvec[]; { FILE *fp; int stroke=0; unsigned long chr,word,line; unsigned char ch; chr=word=line=ZERO; if( argvec[0] ) { if( (fp = fopen(argvec[1],"r"))==NULL ) { printf("USAGE: wc filename\n"); exit(0); } while( !feof(fp) ) { fscanf(fp,"%c",&ch); chr++; if( ch==CR ) line++; if( ch==SPACE || ch==CR || ch==TAB ) stroke = 0; else if(stroke==0) { stroke = 1; word++; } } fclose(fp); } printf(" %lu %lu %lu %s\n",line+1,word,chr,argvec[1]); }