今天更下word count程序的设计思路及实现方法。
我的程序贴在coding里,这里就先不贴出来了,
我的coding地址:https://coding.net/u/holy_angel/p/words-count/git
想去看看的直接点地址跳转。
Word count这个东西让我想起了上个学期学习的编译方法,额,或许是睡了一个学期的编译方法,感觉并不会做,然后就开始撸代码了~
整个设计花了大概5个小时。
没有啥设计,听着音乐,喝着咖啡,想到哪写到哪~
首先是文件名的自己键入和文件的写入读出,这点用c也就搞定了,大约1小时左右,完成了框架,实现手动输入文件名,查找到文件,或是新建一个文件,但是有一个问题啊,新建文件的时候一直会失败,我估计可能是管理员权限的问题,他好像没有权限对其他文件夹下文件进行新建,读取是没有问题的。把文件读取后,不能浪费,用个char buf[100000]来兜着数据,然后,就没有文件的事了,去霍霍buf数组了,等到关闭程序前,检测下数组被霍霍过没~如果有,那就从新写入文件,nice,就这样搞定了。
然后就花了一杯咖啡的时间干掉了行统计和空行统计。
行统计,顾名思义,统计行,说白了就是统计“ ”,一个for循环撸数组并计数,return回来,就好了,空行的话,多个flag,检测在遇见“ ”之前有没有埋伏着一些字符,没有的话就算空行,值得注意的是,有时候空行里会有空格,需要忽视掉那些空格,就刀从屏幕里剐出来就行了,是不是很机智,当然,事实上,我写了一个很蠢的空行统计程序,在coding里也能看到,后来才发现有问题,Kill掉了。
接下来是字符数的统计,我对字符的理解是以字母开头,中间可以为字母或者数字,允许通过“_”“.”这两个符号连接,定义完这个,工作就完成了一半,剩下的就是实现,一丢丢C++和很多的C,然后就实现了。。
结束了,钻窝里睡会。。。。