여기에서는 more 명령을 사용하여 Linux에 표시된 대로 파일의 내용을 페이지별로 표시하는 C 프로그램을 작성할 것입니다.
이 프로그램은 먼저 화면에 특정 수의 줄을 표시한 다음 사용자가 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