源代码上传到github的网址为:https://github.com/fancy-dawning/hello-world.git。

wc.exe是一个常见的工具,它能统计文本文件的字符数,单词数和行数。本周的个人项目是要求写一个命令行程序,模仿已有wc.exe的功能,并加以扩充。本周的任务我参考的是博客园一位名为wuxiaoyong的博主的源代码,博主是用C语言实现,在Windows操作系统上运行,用vc++6.0开发的,其原有的功能已非常完善,不仅完成了wc.exe的基本功能,而且在其基础上成功进行了-a和-s功能的扩展,程序处理用户需求的模式为:wc.exe[parameter][file_name].

首次运行程序,虽没有bug出现,但程序的交互性还有值得改善的地方。因此,在原代码功能完善的基础上,我增加了一些输入提示性语句来增加“友善性”。此外,原程序要求用户输入的文件路径为绝对路径,如果输入的文件路径与代码中设置的路径不一样则会显示找不到对应的文件,因此我讲原先设置的绝对路径改为了用户可自由输入自己文件所在的位置。这次可能是运气比较好,找到了与题目要求完全符合的代码,虽然这次的代码并没有做功能上的扩展,但是每一个功能板块是怎样实现的?如果是我自己写我会怎样实现?我觉得不需要的代码删除以后再运行能不能成功?为什么某一行代码是必要的?这些问题我都有深入的思考,在很多次的运行程序和理解代码的过程中,我了解到了很多自己之前没有接触到过的知识,比如在实现递归处理目录下符合条件的文件时,原博主用到了正则表达式,以及文件的操作,memset函数的使用等。此外,参考借用原博主的代码有一个很深刻的感受,他的代码逻辑很清晰,一个功能一个函数,很有层次,这是很值得我学习的地方。

个人项目-wordcount的更多相关文章

  1. 个人项目WordCount(C++/QT)

    个人项目WordCount(C++/QT) GitHub项目地址:https://github.com/Nova-cjp/Word-Count 百度云链接:https://pan.baidu.com/ ...

  2. 结对项目-WordCount

    结对作业: 成员:201631062115(me),201631062613(partner) 代码地址:https://gitee.com/ackary/WordCount 作业的链接地址:http ...

  3. 系统分析与设计结对项目——WordCount

    结对项目完成WordCount 合作者:201631062507  201631062526(学号) 代码地址:https://gitee.com/WordCountMC/WordCountTeam ...

  4. 个人项目WordCount基础功能

    码云地址:https://gitee.com/stedylan/WordCount 1.PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 10 1 ...

  5. MapReduce第一个项目 WordCount

    参考自林子雨大数据教学:     http://dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/ 创建一个文件夹:放入一个文本文件:填 ...

  6. 个人项目wordcount

    1.Github项目地址:https://github.com/inimble/wordcount.git 2.估算耗费的时间(如右表) PSP2.1 Personal Software Proces ...

  7. 软工项目WordCount

    1.Github项目地址:https://github.com/JameMo/WordCount-for-C        2.在程序的各个模块的开发上耗费的时间: PSP2.1 Personal S ...

  8. WordCount by Java

    WordCount by Java 软测第二周作业 该项目github地址如下: https://github.com/YuQiao0303/WordCount 一.概述 项目WordCount的需求 ...

  9. hadoop第一个例子WordCount

    hadoop查看自己空间 http://127.0.0.1:50070/dfshealth.jsp import java.io.IOException; import java.util.Strin ...

随机推荐

  1. webpack打包报错Chunk.entrypoints: Use Chunks.groupsIterable and filter by instanceof Entrypoint instead

    npm install –save-dev extract-text-webpack-plugin@next 会下载到+ extract-text-webpack-plugin@4.0.0-beta. ...

  2. .net core webapi 使用过滤器。

    过滤器一般用于权限校验.日志处理... 一:ActionFilterAttribute过滤器. 1:建一个类,继承于ActionFilterAttribute抽象类. public class Log ...

  3. android:activity知识点

    一.活动流程 1.创建活动 public class firstActivity extends Activity{} 2.创建布局 新建first_layout.xml文件 3.注册活动 在andr ...

  4. Mac 10.12安装粘贴板增加工具ClipMenu

    说明:这个工具可以保留复制过的记录,并且可以快速调出之前复制过的内容,最开发时比较常用,支持图片等. 下载: (链接: https://pan.baidu.com/s/1qXJbM2o 密码: wef ...

  5. java翻译到mono C#实现系列(4) 利用CountDownTimer类实现倒计时功能 mono版

    群里的朋友问利用CountDownTimer类实现倒计时功能怎么实现,我就百度了,参考http://blog.csdn.net/qq344429461/article/details/7521361写 ...

  6. (转)Db2 备份恢复性能问题诊断与调优

    原文:https://www.ibm.com/developerworks/cn/analytics/library/ba-lo-backup-restore-performance-issue-ju ...

  7. Linux系统编程:进程控制

    一.进程相关操作与编程对应函数 1.进程创建:两种方式来实现. ①fork:创建一个子进程,父子进程共享一份代码程序,但是各有一份独立的数据,为了效率和保持数据的独立采用写时复制技术(COW).运行无 ...

  8. django blank

    null: If True, Django will store empty values as NULL in the database. Defaultis False. 如果为True,空值将会 ...

  9. 第3章—高级装配—配置profile bean

    配置profile bean 3.1.@profile注解是spring提供的一个用来标明当前运行环境的注解. 我们正常开发的过程中经常遇到的问题是,开发环境是一套环境,qa测试是一套环境,线上部署又 ...

  10. Linux下mysq基础命令(二)

    1. 创建数据库相关命令: mysql> STATUS(\s) - 列出当前mysql的相关状态信息 mysql> SHOW DATABASES; - 显示数据库列表 mysql> ...