Linux系统编程之more命令
2017-02-07 14:42
281 查看
命令基础用法
linux more 基本应用 more 文件名基本思路
伪代码show 24 line form input
printf[more?]message
input Enter,space,or q;
if Enter,advance one line
if SPACE
if q---->exit
代码实现
#include <stdio.h> #include <stdlib.h> #define PAGELEN 24 #define LINELEN 512 void do_more(FILE *); int see_more(); int main(int ac,char *av[]) { FILE *fp = NULL; if(ac == 1) { do_more(stdin); } else { while(--ac) { if((fp = fopen(* ++av,"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 see_more(),reply; while(fgets(line,LINELEN,fp)) { if(num_of_lines == PAGELEN) { reply = see_more(); if(reply == 0) break; num_of_lines -= reply; } if(fputs(line,stdout)== EOF) { exit(1); } num_of_lines ++; } } int see_more() { int c; printf("\033[7m more? \033 m]"); while((c = getchar())!=EOF) { if(c == 'q') { return 0; } if(c == ' ') { return PAGELEN; } if(c == '\n') { return 1; } } return 0; }
相关文章推荐
- linux下使用系统调用编程实现copy命令功能
- linux系统编程之管道(三):命令管道(FIFO)
- 如何在C语言编程中调用linux系统终端下的命令
- linux系统编程:自己动手写一个cp命令
- Shell脚本编程——了解你的Linux系统必须掌握的20个命令
- Linux编程基本命令/系统监测命令
- Linux 系统应用编程——网络编程(常用命令解析)
- Linux 系统应用编程——网络编程(常用命令解析)
- 【Linux 系统编程】shell 命令和流程控制(二)
- linux编程实践2(实现more命令)
- Linux系统中的翻页命令more和less使用教程
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(5)——AMD显卡显命令处理机制
- linux系统编程快速定位头文件的技巧之强大的grep命令
- linux系统编程之管道(三):命令管道(FIFO)
- linux下使用系统调用编程实现dir命令功能
- linux系统管理命令-编程开发
- Linux 系统应用编程——网络编程(常用命令解析)
- linux系统编程:自己动手写一个who命令
- Linux&C编程之Linux系统命令“cp -r”的简单实现
- Linux系统编程:pipe匿名管道的使用,实现linux命令下管道命令