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

该程序用于实现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语言经典程序100例50行以上,C语言非常简单的字符统计程序50行相关推荐

  1. c语言全面,最新版c语言经典习题100例(最全面).doc

    最新版c语言经典习题100例(最全面).doc C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) TOC \o "1-3" \h \z \u ...

  2. c语言经典算法大全pdf,c语言经典算法100例pdf版.pdf

    c语言经典算法100例pdf版 C 语言经典算法 100 例 C 语言编程经典 100 例 A:[程序1] 题目:有1.2.3.4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程 ...

  3. 新颖的c语言题目,新颖版c语言经典习题100例(全面面)

    新颖版c语言经典习题100例(全面面) (66页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实用文档C语言习题100例(最新整理版) ...

  4. C语言经典例题100例(一)

    C语言经典例题100例(程序一) 程序一 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 解: 首先看题本身是数字相互排列且不重复问题,用循环语句就可以解决.要求输出而是 ...

  5. C语言经典例程100例--【例程1~50】

    [本部分内容源自网络,为方便学习,此处为复制版] 关于main()与_tmain()的说明: main()是标准C++的函数入口.标准C++的程序入口点函数,默认字符编码格式ANSI 函数签名为: i ...

  6. Mr.J--C语言经典编程100例

    C语言,一般为初学者的首选语言,说简单也简单,但是要真正学好C语言,也是一件很难的事,懂了这些100个例题,也就算是入门了吧,毕竟语言要学的太多,这只是基础. [程序1] 题目:古典问题:有一对兔子, ...

  7. C语言经典算法100例-031-判断星期几

    题目如下: 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. 比较简单,直接看程序吧. #include <stdio.h> #include < ...

  8. 优美图案c语言程序,C语言经典例题100例——C语言练习实例65解答(一个最优美的图案)...

    题目:一个最优美的图案(在TC中实现). 程序分析:无. 程序源代码: // 百宝箱工作室官方网址 http://www.baibaox.com // 百宝箱工作室业务介绍 http://www.ba ...

  9. C语言经典算法100例

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔 子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数 为多少? _______________________ ...

  10. c语言经典例题100例

    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的 ...

最新文章

  1. mysql find_in_set
  2. Minimal BASH-like line editing
  3. opencv第一课 打开一个图片
  4. python玩转android_Android上执行python脚本-QPython
  5. 在Spring中使用JTA事务管理
  6. DM6467T开发板领航——dmai经验谈
  7. 技术回顾系列:最新最热门的技术大事-第一周
  8. android socket编程实例
  9. 区块链的本质是什么?写给区块链的未来十年
  10. android刷新界面的几种方法,Android UI更新的几种方法
  11. 网页抓取工具之数据预处理
  12. teamviewer 远程控制linux,Linux远程控制软件-TeamViewer
  13. 通用时与儒略日代码解析
  14. 基于89C51单片机的智能小车——06.测速小车
  15. Multisim基础 交流电源AC的Voltage offset的含义
  16. SystemUI之NavigationBar导航栏
  17. 树莓派python编程小车_00-树莓派做的遥控小车 python
  18. 吴忌寒有算力,我有的是钱,我打算用钱摧毁比特大陆|专访澳洲中本聪
  19. 各个专业375个国家级精品课程的网址
  20. Eclipse中使用Ant

热门文章

  1. [SCOI2012]喵星球上的点名(树状数组+后缀数组)
  2. 多值(in),范围值(between..and)
  3. 《软件测试》实验一:测试入门
  4. SqlServer 的一个坑
  5. MongoDB-Replication Replica Set Arbiter
  6. 使用git配合idea使用oschina代码仓库初级教程
  7. CentOS获取软件安装包源码
  8. 讲座资源:ASP.NET AJAX 体验
  9. 近年来,学习图像去雾不得不看的论文和源代码
  10. Python列表推导式求素数