c语言行计数程序,C语言非常简单的字符统计程序50行
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
该程序用于实现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行相关推荐
- 50行以上c语言程序代码,C语言非常简单的字符统计程序50行
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 该程序用于实现linux系统中wc命令的最简单模式 wc 命令用于统计文件中字符信息. [xx@localhost 1.5]$ wc 01.c 02.c ...
- 课程设计排名C语言,C语言课程设计题目 ----研究生推免(保研)排名统计程序
C语言课程设计题目 ----研究生推免(保研)排名统计程序,一.C语言课程设计题目 ----研究生推免(保研)排名统计程序这C语言题目太BT了这种题自己做 ,mfc设定界面,用集合就可以了二.为什么我 ...
- 使用Petalinux实现ZYNQ的linux程序开发(实现简单的socket通信程序)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 (一)实现功能及开发环境 一.实现功能 二.开发环境 (二)实现步骤 一.开发环境搭建 1.设置Ubuntu 和 Windo ...
- beta应用程序ios_通过构建简单的食谱应用程序来了解iOS最佳做法
beta应用程序ios by Khoa Pham 通过Khoa Pham 通过构建简单的食谱应用程序来了解iOS最佳做法 (Learn iOS best practices by building a ...
- 财务系统软件c语言,用vc++6.0编写一个简单的财务应用程序来计算职工所得的实际工资...
满意答案 xfitijnf 2014.09.30 采纳率:51% 等级:12 已帮助:32118人 又写了一个简单的,c语言,另外 我和一楼不是一个人..12345678910111213141 ...
- python写一个聊天程序_python实现一个简单的网络聊天程序
一.Linux Socket 1.Linux Socke基本上就是BSD Socket(伯克利套接字) 伯克利套接字的应用编程接口(API)是采用C语言的进程间通信的库,经常用在计算机网络间的通信.B ...
- C++游戏开发,超简单的入门项目,50行代码搞定开心消消乐
一提到开发游戏,很多人都会觉得要很高深的技术,有一种望尘莫及的感觉.其实要编一款小游戏也没有想象的那么难,下面跟着小编一起来看看C++是如何一步步制作游戏的. 本文的代码下载地址在文章末尾,有需要的同 ...
- 简单java小程序代码_求简单的JAVA小程序的源代码
展开全部 <Java就业培训教程>P34源码 程序清单:Promote.java class Promote { public static void main(String args[] ...
- java程序扫雷_Java实现简单的扫雷小程序
前两天看了个扫雷的视频,于是自己跟着做了下,感觉还不是很难. 初学Java的同学可以尝试自己操作下Java小程序 这样子才能提高自己的理解能力和编程水平 不用多说了,直接上代码吧! 具体代码操作如下: ...
最新文章
- 区块链技术没那么复杂,别被大佬们忽悠晕了
- 【 FPGA 】控制数码管动态扫描显示的小实验
- 循环链表(约瑟夫环)的建立及C语言实现
- 4.PHP正则表达式与数组
- merge sort loser tree
- 数据中心实现高效运维的秘诀
- [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
- alexnet vgg_从零开始:建立著名的分类网2(AlexNet / VGG)
- 计算机网络作业答案吴,中国大学《2020春季课程-计算机网络应用吴迪》答案全部2020高校邦《羽毛球》作业题库答案...
- web系统软件测试功能点,小程序、app、web测试的区别
- webserver之使用数组实现阻塞队列
- 【今日CV 计算机视觉论文速览 第127期】Fri, 7 Jun 2019
- 拉普拉斯算子属于卷积方法吗_2020 年 GNN 开卷有益与再谈图卷积
- 企业为什么要上智能仓储系统?
- KendoUI 基础:Grid 绑定template展示
- 4: Consolidating Datasets ( Challenge: Data Munging Using The Command Line)
- 异常:贴dependency报错
- 检测点是否在两条平行线段之间_两点距离、点到直线距离、两条直线平行与垂直的判定...
- POJ1201/ZOJ1508/HDU1384 Intervals(spfa解差分约束问题)
- 哪里计算机考研只考一门课,计算机考研|专业课只考一门数据结构的院校有哪些...