编写一个显示给定文件内容的C程序,例如Linux中的“ more”实用程序

在这里,我们将编写一个C程序,该程序将使用more命令逐页显示文件的内容,如Linux中所示。

该程序将首先在屏幕上显示特定数量的行,然后等待用户按下Enter键以移至下一页,即下一组n行。

为了显示这样的文件内容,我们将打开文件并打印其内容。并为文件中的新行维护一个计数器。当此计数器达到n时,我们将读取用户按下的键以打印新的n行。

示例

#include <stdio.h>
void displaytext(char *fname, int n) {
   FILE *fp = fopen(fname, "r");
   int lineCount = 0, ch;
   if (fp == NULL) {
      printf("No such file exists\n");
      return;
   }
   while ((ch = fgetc(fp)) != EOF){
      putchar(ch);
      if (ch == '\n'){
         lineCount++;
         if (lineCount == n){
            lineCount = 0;
            getchar();
         }
      }
   }
   fclose(fp);
}
int main() {
   char fname[] = "main.CPP";
   int n = 10;
   displaytext(fname, n);
   return 0;
}

输出结果

No such file exists