linux中 wc 命令的简单实现
2012-09-17 22:51
267 查看
wc命令 大家一定不会陌生 。用途很多,wc -w 文件名 通常是用来统计一个文件里 单词的个数的。
那么linux内部是如何实现的呢?
其实它是这么做的。
注释我已经加上去,大家可以自己体会一下,linux内部其实也是这么做的,甚至都是这么写的。
我把功能抽出来 加上一些注释 大家可以自己体会一下 代码一开始不太好理解 。其实实现很简单。。。。。。
当然还有更简单便捷的写法。。有想法的同学可以贴一下自己的代码。。。。
那么linux内部是如何实现的呢?
其实它是这么做的。
#include<stdio.h> /*在单词中*/ #define IN 1 /*不再单词中*/ #define OUT 0 int main() { int c,nl,nw,nc,state; /*一开始需要假设不在单词中,state实际上就是标志位*/ state=OUT; nl=nw=nc=0; while((c=getchar())!=EOF) { /*nc实际上输入了多少个字符*/ ++nc; if(c=='\n') { /*nl实际上就是输入的行数*/ ++nl; } /* *实际上这里就是先判断是否为空格 如果为空格就可以断定我们进入到下一个单词了。后面的条件判断都是不会走的。然后将标志位赋值为out */ if(c==' '||c=='\n'||c=='\t') { state=OUT; } /*如果不是这几种 而且刚好是out 那么就将state赋值为in 并且将nw的值+1 nw其实就是单词的数目*/ else if(state==OUT) { state=IN; ++nw; } } printf("单词==%d",nw); }
注释我已经加上去,大家可以自己体会一下,linux内部其实也是这么做的,甚至都是这么写的。
我把功能抽出来 加上一些注释 大家可以自己体会一下 代码一开始不太好理解 。其实实现很简单。。。。。。
当然还有更简单便捷的写法。。有想法的同学可以贴一下自己的代码。。。。
相关文章推荐
- Linux&C编程之Linux系统命令“cp -r”的简单实现
- Linux下一些文件操作和一些简单命令的自己实现
- Linux 简单实现 ls -l 命令
- linux简单方法实现让普通用户执行管理员命令
- Linux tree命令 简单实现
- 最简单的一些linux命令的基本的实现
- linux下实现我自己简单的 cp 命令
- linux ls命令的的简单实现APUE-1.4 文件和目录
- 20155322 2017-2018-1《信息安全系统设计》第九周 Linux命令:pwd命令学习与简单实现
- Linux下简单的mount命令实现(自动识别文件系统类型)
- Linux下wc工具的简单实现
- 使用linux-c编程实现简单的ls命令
- 用python 实现linux 的wc 命令
- Linux&C编程之Linux系统命令“ls -l”的简单实现
- 使用linux-c编程实现简单的ls命令
- 在Linux中, 用C语言简单实现chmod命令
- Linux下的 ls 命令的简单实现
- linux: 基本命令之:查看磁盘空间, netstat, wc简单使用
- c笔记——linux cat命令的简单实现
- Linux命令简单实现 -- ls