/*
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]);
}