您现在的位置是:网站首页> 内容页

wordcount--realized by c

  • 大红鹰dhy5566
  • 2019-09-26
  • 458人已阅读
简介wc.exe编写说明gitee地址:https://gitee.com/yusaisai/wordcount1需要说明1.1概要wc接收一个文本文件,并统计这个文本文件中的信息(行

wc.exe 编写说明

gitee地址:https://gitee.com/yusaisai/wordcount

1需要说明

1.1 概要

wc接收一个文本文件,并统计这个文本文件中的信息(行数、字数等)

1.2 基本功能

wc.exe -c file.c //返回文件 file.c 的字符数

wc.exe -w file.c //返回文件 file.c 的单词总数

wc.exe -l file.c //返回文件 file.c 的总行数

wc.exe -o outputFile.txt file.c //将结果输出到指定文件outputFile.txt

注意:

空格,水平制表符,换行符,均算字符。

由空格或逗号分割开的都视为单词,且不做单词的有效性校验,例如:thi#,that视为用逗号隔开的2个单词。

-c, -w, -l参数可以共用同一个输入文件,形如:wc.exe –w –c file.c 。

-o 必须与文件名同时使用,且输出文件必须紧跟在-o参数后面,不允许单独使用-o参数

2 基本思路

2.1 接受参数

参数的形式有两种:长选项、短选项,选项间可以组合,长选项用空格隔开各个参数

例: wc.exe --word --charater file.c

短选项可以多个直接叠加或者,也像长选项一样分开写

例: wc.exe -wc file.c wc.exe -w -c file.c

 

对于一个命令行程序,它可以接受来自命令行的参数。

c语言的main函数中有两个参数:int main (int argc, char *argv[]),这两个参数就是用于这个参数的输入。

argc 一个整数,代表有多少个命令行参数,在此注意两个点

1、 参数间是用空格格开的;

2、程序名是第一个参数。

argv[i]是一个指针,指向第i个参数的首地址

理解了以上的两人个参数就简单了,只需要做一些基本的字符串处理就可以了。

2.2.1 -h参数

这个参数单独说是因为这个参数不能和别的参数混用,所以我在程序里面是单独写的,一开始就判断是否用户需要的是help帮助,如果是的话,那么完全不必要再运行程序(打开文件),直接exit中止进程。

2.2.2 -w -c -l 参数

这三个参数都是一个路数:

1、打开文件;

2、判断要做的操作;

3、执行操作。

它们间只有步骤3是不同的,所以有理由把3写成不同的函数,再由2判断执行哪个。

有一些细节问题是可以考虑的。

比如,因为单复数的关系,有一行/个 单词/字母,应该是不同的表达(是否有s)

额外就是判断一个单词的算法也是值得考虑的问题,我的想法是,如果这个

 

文章评论

Top