Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C đọc dữ liệu từ file hiển thị dạng bảng


Đề bài

Đọc các mục từ file và hiển thị dữ liệu theo cột/bảng bằng C.

Giải pháp

Tạo file chế độ ghi, nhập dữ liệu, đóng file. Mở lại chế độ đọc, hiển thị dạng bảng trên console.

Chế độ ghi (write)

FILE *fp = fopen("sample.txt", "w");
// File không tồn tại → tạo mới
// File tồn tại → xóa cũ, ghi mới

Chế độ đọc (read)

FILE *fp = fopen("sample.txt", "r");
// File không tồn tại → trả về NULL
// File tồn tại → đọc thành công

Logic hiển thị dạng bảng

while ((ch = getc(fp)) != EOF) {
    if (ch == ',')
        printf("\t\t");  // Tab ngăn cột
    else
        printf("%c", ch);
}

Chương trình hoàn chỉnh

#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>

int main() {
    char ch;
    FILE *fp;
    
    // Ghi file
    fp = fopen("std1.txt", "w");
    printf("Nhập văn bản. Nhấn Ctrl+Z kết thúc:\n");
    while ((ch = getchar()) != EOF) {
        putc(ch, fp);
    }
    fclose(fp);
    
    // Đọc và hiển thị bảng
    fp = fopen("std1.txt", "r");
    printf("Dữ liệu dạng bảng:\n");
    while ((ch = getc(fp)) != EOF) {
        if (ch == ',')
            printf("\t\t");
        else
            printf("%c", ch);
    }
    fclose(fp);
    return 0;
}

Kết quả chạy

Nhập văn bản. Nhấn Ctrl+Z kết thúc:
Name,Item,Price
Bhanu,1,23.4
Priya,2,45.6
^Z
Dữ liệu dạng bảng:
Name        Item        Price
Bhanu       1           23.4
Priya       2           45.6