个人项目-wordcount
源代码上传到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的更多相关文章
- 个人项目WordCount(C++/QT)
个人项目WordCount(C++/QT) GitHub项目地址:https://github.com/Nova-cjp/Word-Count 百度云链接:https://pan.baidu.com/ ...
- 结对项目-WordCount
结对作业: 成员:201631062115(me),201631062613(partner) 代码地址:https://gitee.com/ackary/WordCount 作业的链接地址:http ...
- 系统分析与设计结对项目——WordCount
结对项目完成WordCount 合作者:201631062507 201631062526(学号) 代码地址:https://gitee.com/WordCountMC/WordCountTeam ...
- 个人项目WordCount基础功能
码云地址:https://gitee.com/stedylan/WordCount 1.PSP表格: PSP2.1 PSP阶段 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 10 1 ...
- MapReduce第一个项目 WordCount
参考自林子雨大数据教学: http://dblab.xmu.edu.cn/blog/hadoop-build-project-using-eclipse/ 创建一个文件夹:放入一个文本文件:填 ...
- 个人项目wordcount
1.Github项目地址:https://github.com/inimble/wordcount.git 2.估算耗费的时间(如右表) PSP2.1 Personal Software Proces ...
- 软工项目WordCount
1.Github项目地址:https://github.com/JameMo/WordCount-for-C 2.在程序的各个模块的开发上耗费的时间: PSP2.1 Personal S ...
- WordCount by Java
WordCount by Java 软测第二周作业 该项目github地址如下: https://github.com/YuQiao0303/WordCount 一.概述 项目WordCount的需求 ...
- hadoop第一个例子WordCount
hadoop查看自己空间 http://127.0.0.1:50070/dfshealth.jsp import java.io.IOException; import java.util.Strin ...
随机推荐
- 关于MatlabGUI清除WorkSpace的用法
近日在调试Matlba GUI程序时,因为不想退出程序后手动Clear All来清理,又需要在过程中对WorkSpace进行清理,否则会引用之前的结果导致错误,找了很多资料,国内的论坛什么的都说用Cl ...
- Hello Jexus(转并修改)
一.关于 CentOS CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照 ...
- SQL语句——入门级
入门级别的sql语句,“--”两条横线表示sql语句的注释 表: id name age height2015102 老王 68 170.320150101 张三 null null201501 ...
- Scanner类中的nextToken()方法解读
下面看一下nextToken()方法的源码实现. 1.Java中的控制字符 case ' ': // (Spec 3.6) case '\t': // (Spec 3.6) case FF: // ( ...
- css3基础下
box-shadow:0 5px 5px rgba(0,0,0,0.5) 文本 text-shadow:5px 5px 4px green; word-wrap: 背景: background:#ff ...
- Eclipse下搭建Django环境
1.打开Eclipse,在Help->Install New Software,输入上诉信息,然后点击下一步(因这里已经安装了,所以无法点击下一步) 2.安装完成以后,进入Windows-> ...
- Strut2 ognl取出存放在request,session,application和对象栈的中的值
1.取出request,session,applicaiton中的值 a.往里面加入request,session,application中加入值 public String testServlet( ...
- EF4.4增删改查实例
第一.先创建一个名为Store数据库,将下面脚本代码执行创建表: USE [Store] GO /****** Object: Table [dbo].[Category] Script Date: ...
- Comet事件分析
简介[ Introduction ] 使用APR或者NIO API作为连接器的基础,Tomcat能够提供一些在阻塞IO之上的有效扩展,用于支持Servlet API. [ With usage of ...
- C#调用SQLite报错:无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块
C#调用SQLite数据库,有些情况下会报以下这个错误: 无法加载 DLL“SQLite.Interop.dll”: 找不到指定的模块 实际上程序目录中是存在SQLite.Interop.dll这个文 ...