个人项目-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 ...
随机推荐
- 基于Allwinner的Audio子系统分析(Android-5.1)
前言 一直想总结下Audio子系统的博客,但是各种原因(主要还是自己懒>_<),一直拖到现在才开始重新整理,期间看过H8(Android-4.4),T3(Android-4.4),A64( ...
- Mac 10.12安装VirtualBox
说明:用VirtualBox主要是能开无缝模式. 下载: (链接: https://pan.baidu.com/s/1i5y78Ct 密码: e3bq)
- 第3章—高级装配—条件化的Bean
条件化的Bean 通过活动的profile,我们可以获得不同的Bean.Spring 4提供了一个更通用的基于条件的Bean的创建方式,即使用@Conditional注解. @Conditional根 ...
- 15.Iterator和for...of循环
1.Iterator(遍历器)的概念 JavaScript原有的表示“集合”的数据结构,主要是数组(Array)和对象(Object),ES6又添加了Map和Set.这样就有了四种数据集合,用户还可以 ...
- VirtualBox虚拟机克隆方法
1.定位到Vritualbox的安装目录,不能用全路径的方式直接执行该命令行 2.执行Vboxmanage.exe clonevdi "d:\linux\source.vdi" & ...
- WPF设置动画在控件载入时就立刻执行
<YourControl.Triggers> <EventTrigger RoutedEvent="YourControl.Loaded"><!--这 ...
- 深入理解java集合框架之---------Arraylist集合
ArrayList简介 ArrayLIst是动态数组,用MSDN的说法就是Array的复杂版本,它提供了动态的增加和减少元素,实现了Collection和List接口,可以灵活的设置数组的大小,要注意 ...
- AngularJS 的常用特性(一)
前言:AngularJS 是一款来自 Google 的前端 JS 框架,该框架已经被应用到了 Google 的多款产品中,这款框架最核心特性有:MVC.模块化.自动化双向数据绑定.语义化标签.依赖注入 ...
- NetXray
NetXRay是由Cinco Networks公司开发的一个用于高级分组检错的软件,功能很强大.IP地址查询工具. 硬件要求 对硬件要求低,可运行常用的windows平台. 主要功能 1.监视网络状态 ...
- 把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像
在上一个part<把AspDotNetCoreMvc程序运行在Docker上-part1>,已经将成功将aspdotnetcore程序运行在两个不同的容器中,目前两个容器的内容完全相同,只 ...