unix编程实训教程之 more(觉醒篇一 Begin)
觉醒篇:学了太多的命令 实在觉得没有什么意思 死板枯燥和死人何异?
漫漫长路学其形忘其神 何用? 改变一下自己的观念,其实这个世界很精彩。
首先,more能做什么?
more 可以说分页显示文件内容,大部分的Unix系统都有文件文本/etc/termcap,它经常被文本编辑器和游戏程序使用
语法:
more filename//显示文本内容
comand | more //讲comand命令分页显示
more < filename //从标准输入中获取分页显示的内容
逻辑:
显示24行内容
print【more】 ?
输入Enter、Space、or q
if Enter ,显示一行
if Space 一页
if q ,break -> exit
系统调用:
1.fgets(str,n,fp)
str:存放在字符串的起始位置,字符串名
n:int类型,取n-1个字符放入str的空间内
fp:文件指针 读到换行orEOF文件结束
2.fputs(str,fp)
将字符串写入文件
#include <stdio.h>
#include <stdlib.h>#define plen 24
#define Lline 512void do_more(FILE *);
int see_more();int main( int ac , char* av[])//表示输入了多少条字符串 * av[]是字符串指针
{FILE *fp;if(ac == 1)do_more(stdin);//stdinelsewhile(--ac){if((fp = fopen(* ++av,"r")) != NULL ){do_more(fp);fclose(fp);}elseexit(1);}return 0;
}void do_more(FILE *fp)
{char line[Lline];int replay;int set_more();int num_of_line = 0;while(fgets(line,Lline,fp)){if(num_of_line == plen){replay = set_more();if(replay == 0)break;num_of_line -= replay;}if(fputs(line,stdout) == EOF)exit(1);num_of_line++;}
}int set_more()
{int c;while((c=getchar())!=EOF){if(c == ' ')return plen;if(c == 'q')return 0;if(c == '\n')return 1;}
}
编译
gcc cmore.c
./a.out filename
unix编程实训教程之 more(觉醒篇一 Begin)相关推荐
- php编程实训,php编程实训模板
php编程实训模板 实训报告题 目: 网络编程实训 所属系.部 : 电气工程学院 班 级: 电子商务 131 班 姓 名: 学 号: 指 导 教 师: 2015 年 6 月1.实训时间:2015 年 ...
- 共阳极数码管动态扫描c语言,《C语言编程实训》实训指导书三
1 C 语言编程实训语言编程实训 实训指导书三实训指导书三 适应专业 应用电子技术适应专业 应用电子技术 广州康大职业技术学院自动化系广州康大职业技术学院自动化系 二二 0 一一 0 年十一月年十一月 ...
- 求最大公约数c语言实验心得,C语言编程实训报告(合集)
cout< void main()//主函数主函数主函数主函数 { int i,g; studentstu[3];while (i){i=menu(stu,3); switch(i) {case ...
- 按照题目打印菜单c语言,--单片机C语言编程实训
实 习 报 告 实习地点:201机房 实习时间:2014.12.1--2014.12.6 实习项目:单片机C语言编程实训 指导老师:骆 乐 姓 名: 班 级:电信3121 一. 实习内容 1.计算字符 ...
- 大喇叭编程实训基地:聚焦编程行业的培训基地
数字化转型正在深入影响着各个行业,而编程人才也成为了各个领域普遍需要的紧缺人才.作为一家注重培养未来编程精英的实训机构,大喇叭编程实训基地已经成为了学员们开展实际编程应用的重要基地. 大喇叭编程实训基 ...
- 实训计算机硬盘分区的心得体会,计算机实训的心得体会3篇
随着互联网的不断发展与普及,计算机专业也越来越受欢迎,其就业率虽然不断提高,但该专业相关岗位对学生的实训能力十分重视.下面是小编整理的计算机实训的心得体会3篇,欢迎大家前来查阅. 计算机实训的心得体会 ...
- c#程序设计实训报告心得体会_关于实训的心得体会4篇
关于实训的心得体会4篇 心得体会是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字.有关实训的心得体会,欢迎大家一起来借鉴一下! 实训的心得体会(一): 透过这两周的实训,我们学会了 ...
- java类与对象实验报告心得体会_java实习实训报告心得【三篇】
[导语]Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.而学习Java的同学java实习实训是必经的过程.以下是无忧考网整理的java实习实训报告心得,欢迎阅读! java实习实训报告心 ...
- 转:Tkinter教程之Text(2)篇
'''Tkinter教程之Text(2)篇''' '''6.使用tag来指定文本的属性''' #创建一个指定背景颜色的TAG # -*- coding: cp936 -*- from Tkinter ...
- eovs实训报告总结心得_实训心得体会(精选15篇)
实训心得体会 ( 精选 15 篇 ) 我并没有因为我在他们面前没有经验而退后, 我相信我也能做的像他 们一样好 . 我的工作是在那做传菜生, 每一天 9 点钟 - 午时 2 点再从午 时的 4 点 - ...
最新文章
- 反汇编的应用1-软件破解
- java_软件发布版本_Asynch HttpClien 对比发行版本说明_Alpha、Beta、RC、GA版本的区别...
- 蚂蚁金服CTO鲁肃:支付宝成就了我,我做了很多“拧螺丝”的事儿
- [IDEA 配置MYSQL数据库连接]
- 三星note4 9100自动关机问题以及空间不够的问题研究。。。。
- linux vim ctags,Linux环境上代码阅读与编写的利器-vim+ctags+cscope
- python爬虫第一课 开发环境配置
- Asp.net MVC 的一些总结(二)——图片显示
- angularjs 表单验证 和 页面初始化闪烁
- 从零开始学Pytorch(七)之卷积神经网络
- Flash:LoadVars数据提交与表单处理
- 会声会影保存的文件在哪里
- 无线网卡服务器关闭了怎么办,台式机无线网卡自动禁用怎么办
- Vue3学习之旅--Composition-API-入门篇
- java对接海康威视SDK(win64、linux64),处理播放实时流转码,按时间回放功能,附海康威视最新3.0摄像头监控web端实例+插件
- 组装一台台式计算机的流程,如何组装电脑?组装电脑的操作流程!
- Java Stream流总结
- Python图像增强
- 高电平输入好还是rca输入好_汽车音响改装常识
- 主从库理论知识-主从同步如何实现?
热门文章
- Build Apache Module
- php生成图形验证码的几种方法
- 自动类型转化的鲜为人知的陷阱
- 搭建邮件系统,采用sendmail+dovecot+openwebmail架构
- git grep 全字匹配_git log --grep 筛选(转)
- 嵌入式 Linux 4.0,嵌入式多媒体中心 OpenELEC 4.0.4
- 30分钟学习掌握springmvc、SSM
- 520超浪漫文艺表白,追求女神必备!!动态Html网页,无编程基础也可娱乐
- mysql order by if函数_mysql order by
- Java—读取多层嵌套Json文件的内容并根据索引返回JsonObject