一.github:https://github.com/JiejieCM/WordCount
二.psp
PSP2.1 |
PSP阶段 |
预估耗时 (分钟) |
实际耗时 (分钟) |
Planning |
计划 |
30 |
30 |
· Estimate |
· 估计这个任务需要多少时间 |
30 |
30 |
Development |
开发 |
3天 |
5天 |
· Analysis |
· 需求分析 (包括学习新技术) |
2天 |
3天 |
· Design Spec |
· 生成设计文档 |
0 |
0 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
0 |
0 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
|
|
· Design |
· 具体设计 |
|
|
· Coding |
· 具体编码 |
|
|
· Code Review |
· 代码复审 |
|
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
|
|
Reporting |
报告 |
|
|
· Test Report |
· 测试报告 |
|
|
· Size Measurement |
· 计算工作量 |
|
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
|
|
|
合计 |
|
|
三.解题思路
使用c++,vs2015
基础功能
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 //将结果输出到指定文件outputFile.txt
统计字符:这个很简单,直接用函数strlen得出。
统计行数:读入文件时,我采用getline逐行读入,循环累加数则为文件行数。
统计单词:单词的统计则稍微复杂一点,这里我设置一个变量flag,用flag对此时读入的是否是单词进行标记,从而进行计数。
[参考]:http://blog.csdn.net/henry19850318/article/details/5929023
【指令读入与分析】
此处利用main函数的参数argv直接传入控制台指令。扫描指令,当遇到“-”时说明此事读入的是指令,然后根据“c”“w”“l”“o”来区分其执行的不同操作,否则读入的则为文件名(输入或者输出文件),从而对文件进行操作。
[参考]:http://blog.csdn.net/henry19850318/article/details/5929023
四.代码分析
设置结构体,判断指令
主要统计函数
主函数
五.测试
六.参考
【1】http://blog.csdn.net/henry19850318/article/details/5929023
【2】http://blog.csdn.net/u010166404/article/details/46353263