ที่นี่ เราจะเขียนโปรแกรม C ที่จะแสดงเนื้อหาของไฟล์ทีละหน้า (page by page) ตามที่แสดงใน 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