Computer >> Máy Tính >  >> Lập trình >> C ++

Viết chương trình C hiển thị nội dung của một tệp nhất định như tiện ích 'thêm' trong Linux

Ở đây, chúng tôi sẽ viết một chương trình C sẽ hiển thị nội dung của từng trang tệp như được hiển thị trong Linux bằng cách sử dụng lệnh more.

Chương trình này sẽ hiển thị một số dòng cụ thể trên màn hình trước tiên và sau đó đợi người dùng nhấn enter để chuyển sang trang tiếp theo tức là tập hợp n dòng tiếp theo.

Để hiển thị nội dung của tệp như thế này, chúng tôi sẽ mở tệp và in nội dung của nó. Và duy trì một bộ đếm cho các dòng mới trong tệp. Khi bộ đếm này đạt đến n, chúng tôi sẽ đọc một phím do người dùng nhấn để in thêm n dòng mới.

Ví dụ

#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;
}

Đầu ra

No such file exists