#include
void Usage(char* cmd);
int wc(char* ifile);
int main(int argc,char* argv[])
{
int i,n_line;
char *cmd,*ifile;
cmd = argv[0];
if(argc==1) Usage(cmd);
for(i=1;i<argc;i++) {
if(!strcmp(argv[i], "-in")) {
if(++i> argc) Usage(cmd);
ifile = argv[i];
}
else Usage(cmd);
}
n_line = wc(ifile);
printf("[%s] has %d lines\n",ifile,n_line);
return 0;
}
void Usage(char* cmd)
{
fprintf(stderr,"USAGE: %s [-in <file>]\n",cmd);
exit(0);
}
int wc(char* ifile)
{
FILE *fp;
char buf[BUFSIZ];
int n_line;
if((fp=fopen(ifile,"r")) == NULL){
printf("Cannot open the file\n");
return 0;
}
n_line=0;
while(fgets(buf,BUFSIZ,fp)) n_line++;
fclose(fp);
return n_line;
}
|