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

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


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