美轮美奂的网站建设,泸州免费做网站,广州市网络营销推广平台,成都网站空间实例要求#xff1a;使用标准IO的库函数中的fgetc函数实现Linux命令“wc -l”和“wc -c”的功能#xff1b;实例分析#xff1a;“wc -l xxx.txt”#xff1a;统计当前目录下xxx.txt文件的行数#xff1b;“wc -c xxx.txt”#xff1a;统计当前目录下xxx.txt文件的字符数…实例要求使用标准IO的库函数中的fgetc函数实现Linux命令“wc -l”和“wc -c”的功能实例分析“wc -l xxx.txt”统计当前目录下xxx.txt文件的行数“wc -c xxx.txt”统计当前目录下xxx.txt文件的字符数strcmp() 函数int strcmp(const char *str1, const char *str2)利用此函数与“-l”和“-c”分别做比较即可示例代码
#include stdio.h
#include string.hint main(int argc, char const *argv[])
{if(3 ! argc){printf(Usage : %s pathname\n,argv[0]);return -1; }FILE *fp fopen(argv[1],r);if(NULL fp){perror(fopen error);return -1;}int line_num 0;int char_num 0;int ret 0;while (EOF ! (ret fgetc(fp))){if(\n ret){line_num;}char_num;}if(0 (strcmp(argv[2],-l))){printf(line_num %d\n,line_num);} else if (0 (strcmp(argv[2],-c))){printf(char_num %d\n,char_num);}fclose(fp);return 0;
}
运行结果
linuxubuntu:~$ ./a.out xxx.txt -l
line_num 5
linuxubuntu:~$ ./a.out xxx.txt -c
char_num 26
linuxubuntu:~$ wc -l xxx.txt
5 xxx.txt
linuxubuntu:~$ wc -c xxx.txt
26 xxx.txt本示例代码仅供参考