该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

该程序用于实现linux系统中wc命令的最简单模式

wc 命令用于统计文件中字符信息。

[xx@localhost 1.5]$ wc 01.c 02.c 03.c

15 23 131 01.c

13 18 127 02.c

14 20 128 03.c

42 61 386 总用量

使用c语言写出这种小程序。

/*

* Name: count.c

* Title: the number of line, word, characters in file

* Descripts: count the number of line, word, characters in file

* Author: lnesuper

* Copyrighte: GPL

* Date: 2015.5.25

* Use: count [file1] [file2]...

*/

#include

#include

#define IN 1 /* inside a word */

#define OUT 0 /* outside a word */

int main(int argc, char * argv[])

{

if (argc == 1) {

printf("\aUsing: count [file1] [file2]...\n");

exit(EXIT_FAILURE);

}

int c, nl, nw, nc, state; /* line, word, character */

int nl_total, nw_total, nc_total;

nl_total = nw_total = nc_total = 0;

int n;

for (n = 1; n < argc; n++) {

FILE * file = fopen(argv[n], "r");

if (file == NULL) {

printf("Can't open file %s\n", argv[n]);

exit(EXIT_FAILURE);

}

nl = nw = nc = 0;

state = OUT;

while ((c = fgetc(file)) != EOF) {

++nc;

if (c == '\n')

++nl;

if (c == ' ' || c == '\t' || c == '\n')

state = OUT;

else if (state == OUT) {

++nw;

state = IN;

}

}

nl_total += nl;

nw_total += nw;

nc_total += nc;

printf("%d %d %d %s\n", nl, nw, nc, argv[n]);

fclose(file);

}

// printf("total information:\n");

printf("%d %d %d total\n", nl_total, nw_total, nc_total);

return 0;

}

linux下编译运行结果

gcc -Wall -o count count.c

[lhf@localhost 1.5]$ ./count 01.c 02.c 03.c

15 23 131 01.c

13 18 127 02.c

14 20 128 03.c

42 61 386 total

[lhf@localhost 1.5]$ wc 01.c 02.c 03.c

15 23 131 01.c

13 18 127 02.c

14 20 128 03.c

42 61 386 总用量

可以看出与wc命令结果一致。

c语言行计数程序,C语言非常简单的字符统计程序50行相关推荐

  1. 50行以上c语言程序代码,C语言非常简单的字符统计程序50行

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 该程序用于实现linux系统中wc命令的最简单模式 wc 命令用于统计文件中字符信息. [xx@localhost 1.5]$ wc 01.c 02.c ...

  2. 课程设计排名C语言,C语言课程设计题目 ----研究生推免(保研)排名统计程序

    C语言课程设计题目 ----研究生推免(保研)排名统计程序,一.C语言课程设计题目 ----研究生推免(保研)排名统计程序这C语言题目太BT了这种题自己做 ,mfc设定界面,用集合就可以了二.为什么我 ...

  3. 使用Petalinux实现ZYNQ的linux程序开发(实现简单的socket通信程序)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 (一)实现功能及开发环境 一.实现功能 二.开发环境 (二)实现步骤 一.开发环境搭建 1.设置Ubuntu 和 Windo ...

  4. beta应用程序ios_通过构建简单的食谱应用程序来了解iOS最佳做法

    beta应用程序ios by Khoa Pham 通过Khoa Pham 通过构建简单的食谱应用程序来了解iOS最佳做法 (Learn iOS best practices by building a ...

  5. 财务系统软件c语言,用vc++6.0编写一个简单的财务应用程序来计算职工所得的实际工资...

    满意答案 xfitijnf 2014.09.30 采纳率:51%    等级:12 已帮助:32118人 又写了一个简单的,c语言,另外 我和一楼不是一个人..12345678910111213141 ...

  6. python写一个聊天程序_python实现一个简单的网络聊天程序

    一.Linux Socket 1.Linux Socke基本上就是BSD Socket(伯克利套接字) 伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信.B ...

  7. C++游戏开发,超简单的入门项目,50行代码搞定开心消消乐

    一提到开发游戏,很多人都会觉得要很高深的技术,有一种望尘莫及的感觉.其实要编一款小游戏也没有想象的那么难,下面跟着小编一起来看看C++是如何一步步制作游戏的. 本文的代码下载地址在文章末尾,有需要的同 ...

  8. 简单java小程序代码_求简单的JAVA小程序的源代码

    展开全部 <Java就业培训教程>P34源码 程序清单:Promote.java class Promote { public static void main(String args[] ...

  9. java程序扫雷_Java实现简单的扫雷小程序

    前两天看了个扫雷的视频,于是自己跟着做了下,感觉还不是很难. 初学Java的同学可以尝试自己操作下Java小程序 这样子才能提高自己的理解能力和编程水平 不用多说了,直接上代码吧! 具体代码操作如下: ...

最新文章

  1. 区块链技术没那么复杂,别被大佬们忽悠晕了
  2. 【 FPGA 】控制数码管动态扫描显示的小实验
  3. 循环链表(约瑟夫环)的建立及C语言实现
  4. 4.PHP正则表达式与数组
  5. merge sort loser tree
  6. 数据中心实现高效运维的秘诀
  7. [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
  8. alexnet vgg_从零开始:建立著名的分类网2(AlexNet / VGG)
  9. 计算机网络作业答案吴,中国大学《2020春季课程-计算机网络应用吴迪》答案全部2020高校邦《羽毛球》作业题库答案...
  10. web系统软件测试功能点,小程序、app、web测试的区别
  11. webserver之使用数组实现阻塞队列
  12. 【今日CV 计算机视觉论文速览 第127期】Fri, 7 Jun 2019
  13. 拉普拉斯算子属于卷积方法吗_2020 年 GNN 开卷有益与再谈图卷积
  14. 企业为什么要上智能仓储系统?
  15. KendoUI 基础:Grid 绑定template展示
  16. 4: Consolidating Datasets ( Challenge: Data Munging Using The Command Line)
  17. 异常:贴dependency报错
  18. 检测点是否在两条平行线段之间_两点距离、点到直线距离、两条直线平行与垂直的判定...
  19. POJ1201/ZOJ1508/HDU1384 Intervals(spfa解差分约束问题)
  20. 哪里计算机考研只考一门课,计算机考研|专业课只考一门数据结构的院校有哪些...

热门文章

  1. Spring boot格式化器
  2. MySQL的空值查询
  3. mysql两者之间_sql between 语法与查询两者之间数据方法
  4. Java 将 Word 文档转换为 PDF 的完美工具
  5. java基础(十一) 枚举类型
  6. JavaScript中获取表单信息并添加在表格中
  7. 决策树之 C4.5 算法
  8. Oracle 11gR2 安装 example(范例数据库)
  9. 超级计算机日记300字,真实的我日记300字
  10. flask和ajax,Flask flash和url_用于AJAX