在这里,我们将编写一个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