个人项目-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 ...
随机推荐
- [转] Ansible 内置变量参考
Quick reference for Ansible variables [From] https://github.com/lorin/ansible-quickref
- HLS:跑马灯实验
跑马灯实验的第一部分记录: 1. vivado 2018.2的HLS在跑C/RTL co-simulation的时候,一直报错,不论是用modelsim 还是vivado自带的similator.使用 ...
- OPENERP 新添模块后导致启动不了的问题总结
自己新的的模块在本地运行OK,上传到服务器后,导致所有用户登录不了,并报“ProgrammingError: column “” does not exist”不存在的错误. 错误原因,自定义模块发生 ...
- 【并行】Ubuntu安装MPI库
1.环境搭建 终端:sudo apt-get install mpich2 安装的是mpich2的1.4.1版本. 2.编译 终端:mpicc mpi_hello.c -g -Wall -o mpi_ ...
- 【Maven学习】maven-assembly-plugin的使用
转自http://liugang594.iteye.com/blog/2093607 maven-assembly-plugin使用描述(拷自 maven-assembly-plugin 主页) Th ...
- python-锁机制
锁 Lock() Lock(指令锁)是可用的最低级的同步指令.Lock处于锁定状态时,不被特定的线程拥有.Lock包含两种状态——锁定和非锁定,以及两个基本的方法. 可以认为Lock有一个锁定池,当线 ...
- 使用gdb进行写操作
使用gdb调试程序,读写操作是很普遍的事情.其中,读操作包括: 读取某个变量的值 读取某个内存地址里的内容 读取某个寄存器的值 对应地,写操作包括: 修改某个变量的值 修改某个内存地址里的内容 修改某 ...
- Gradle中的SourceSet理解
对于maven项目来说,目录结构是固定的,也就是像这样: src/main/ src/main/java/ src/main/resources/ src/test/ src/test/java/ s ...
- oracle 数据库添加Java方法
create or replace and compile java source named "Bitconverter" aspublic class Bitconverter ...
- 第6章 通过CrawlSpider对招聘网站进行整站爬取
通过前几章的2个项目的学习,其实本章的拉钩网项目还是挺容易理解的. 本章主要的还是对CrawlSpider源码的解析,其实我对源码还不是很懂,只是会基本的一些功能而已. 不分小节记录了,直接上知识点, ...