Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เขียนโปรแกรม C ที่แสดงเนื้อหาของไฟล์ที่กำหนด เช่น ยูทิลิตี้ 'more' ใน Linux


ในที่นี้เราจะเขียนโปรแกรม C ที่จะแสดงเนื้อหาของไฟล์ทีละหน้าตามที่แสดงใน Linux โดยใช้คำสั่ง more

โปรแกรมนี้จะแสดงจำนวนบรรทัดที่เจาะจงบนหน้าจอก่อน จากนั้นรอให้ผู้ใช้กด 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