Linux C编程——more命令的实现
来源:互联网 发布:顶级域名服务器 权威 编辑:程序博客网 时间:2024/06/02 11:13
#include <stdio.h>#include <stdlib.h>#include <string.h>#define PAGELEN 24#define LINELEN 512void do_more(FILE *);int see_more(FILE *);int main(int argc, char *argv[]){ FILE *fp; if (argc == 1) do_more(stdin); else { while (--argc) { if ((fp = fopen(*++argv, "r")) != NULL) { do_more(fp); fclose(fp); } else exit(1); } } return 0;}void do_more(FILE *fp){ char line[LINELEN]; int num_of_lines = 0; int reply; FILE *fp_tty; fp_tty = fopen("/dev/tty", "r"); if(fp_tty == NULL) exit(1); while (fgets(line, LINELEN, fp)) { if (num_of_lines == PAGELEN) { reply = see_more(fp_tty); if(reply == 0) break; num_of_lines -= reply; } if (fputs(line, stdout) == EOF) exit(1); num_of_lines++; }}int see_more(FILE *cmd){ int c; printf("\033[7m more? \033[m"); while ((c = getc(cmd)) != EOF) { if (c == 'q') return 0; if (c == ' ') return PAGELEN; if (c == '\n') return 1; } return 0;}
0 0
- Linux C编程——more命令的实现
- linux编程more命令的简单实现
- Unix/Linux编程实践教程(1)--实现more命令(C语言)
- Linux中more命令的实现
- linux下more命令的实现
- Linux 下 more命令 的实现
- Linux more命令的简单实现
- unix/linux more命令的实现
- linux命令——more
- Linux命令简介—more
- linux编程实践2(实现more命令)
- linux的more 命令
- Linux下more命令C语言实现实践
- Linux下more命令C语言实现实践
- Linux C编程的一个小例子——实现一个简单的who命令(第一版)
- Linux实习——more命令的编写
- 一个简单的linux命令——more
- Linux C编程的小例子——实现who命令(第二版)
- RelativeLayout 相对布局
- JBPM4.4应用开发
- oracle 自动建表
- cocos2d-x之CCGUI设计与实现(1)序言
- strtus2.3.6+guice4+jpa(hibernate4)的配置-第一篇
- Linux C编程——more命令的实现
- oracle中的NVL,NVL2,NULLIF,COALESCE几个通用函数
- 块设备驱动3--sd卡驱动2(linux-3.2.36的host.h分析)
- seed-dvs6467 encodedecode实例 采集的图像质量很差,只有隔行显示,而且每帧图像不断的往下移动?
- 取得手机屏幕大小DisplayMetrics的应用
- MYSQL命令大全
- 开心的小明(华为入职前练习)
- linux下面tomcat域名配置
- Kernel中Hid和Bnep的初始化