ในที่นี้เราจะเขียนโปรแกรม 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