当前位置:  技术问答>linux和unix

关于more 命令的一个问题

    来源: 互联网  发布时间:2016-12-28

    本文导语:  unix,linux编程实践教程上35页的一个关于more的案例 以下是书上用来仿more功能的more01代码: #include #include #include #define PAGELEN 24 #define LINELEN 512 void do_more(FILE *); int see_more(); int main(int ac,char *av[]) {   FILE *fp;   ...

unix,linux编程实践教程上35页的一个关于more的案例


以下是书上用来仿more功能的more01代码:

#include
#include
#include

#define PAGELEN 24
#define LINELEN 512
void do_more(FILE *);
int see_more();
int main(int ac,char *av[])
{
  FILE *fp;
  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)
/*

 *read PAGELEN lines, then call see_more() for further instructions

*/
{
  char line[LINELEN];
  int num_of_lines=0;
  int see_more(),reply;
  while(fgets(line,LINELEN,fp)){     /* more input */
     if(num_of_lines==PAGELEN){      /*full screen? */
       reply=see_more();
       if(reply==0)
         break;
       num_of_lines-=reply;
      }
     if(fputs(line,stdout)==EOF)
       exit(1);
     num_of_lines++;
    }
}
  
int see_more()
/*
 * print message, wait for response, return # of lines to advance
 * q means no, space means yes, CR means one line.
 */
{
  int c;
  printf("33[7m more?33[m");
  while((c=getchar())!=EOF)
  {
    if(c=='q')
      return 0;
    if(c==' ')
      return PAGELEN;
    if(c=='n')
      return 1;
  }
  return 0;
}

编译,链接都没问题。
但是执行此处的more01 more01.c 测试这个more01指令时报:more01:找不到命令
请问:1.这是什么原因造成的.2.怎么解决这个问题


                                                                       非常感谢大家提供帮助。

|
./more01 more01.c

要加上路径,否则从$PATH环境变量中找more01,找不到的话就报错啦

|
恩 楼上说的很对

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.management.relation类rolestatus的类成员方法: more_than_max_role_degree定义及介绍
  • 用cat或more显示binary文件为什么会造成乱码现象?
  • java命名空间javax.print.event类printjobevent的类成员方法: no_more_events定义及介绍
  • more.groupware
  • warning: Source file is more recent than executable.
  • astyle -h | more 为什么没法分页显示帮助文件呢?
  • 请教:two or more data types in declaration of `main'
  • 无法关机:INIT:no more processes left in this runlevel
  • 请教"two or more data types in declaration specifiers"的解决办法
  • Ubuntu 9.10无法进入系统,界面提示:One or more of the mounts...
  • where can I download partition tools? I want more than two logic disks on my machine. the os is NT,and harddisk is 40G.
  • linux下实现类似于more的翻屏功能(50分求救)
  • Square is-a Rect? (more thoughts on immutable programming)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3