Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

Linux에서 'more' 유틸리티와 같이 주어진 파일의 내용을 표시하는 C 프로그램 작성

<시간/>

여기에서는 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