22. Xử lý file trong ngôn ngữ lập trình C

Trong ngôn ngữ lập trình C, bạn có thể thực hiện xử lý file bằng cách sử dụng các hàm và thư viện liên quan đến file. Có hai loại file chính bạn có thể làm việc trong C: file văn bản (text file) và file nhị phân (binary file). Dưới đây là một số ví dụ cơ bản về cách xử lý file trong C:

1. Mở và đóng file: Để làm việc với file, bạn cần mở file trước khi đọc hoặc ghi và sau đó đóng file sau khi hoàn thành công việc. Dùng hàm fopen để mở file và fclose để đóng file.

c
#include <stdio.h>

int main() {
    FILE *file;
    file = fopen("example.txt", "r"); // Mở file example.txt để đọc
    if (file == NULL) {
        printf("Không thể mở file.\n");
        return 1;
    }

    // Thực hiện công việc trên file ở đây

    fclose(file); // Đóng file sau khi hoàn thành

    return 0;
}

2. Ghi dữ liệu vào file văn bản: Để ghi dữ liệu vào file văn bản, bạn có thể sử dụng hàm fprintf.

c
#include <stdio.h>

int main() {
    FILE *file;
    file = fopen("output.txt", "w"); // Mở file output.txt để ghi
    if (file == NULL) {
        printf("Không thể mở file.\n");
        return 1;
    }

    fprintf(file, "Xin chào, thế giới!\n");
    fprintf(file, "Đây là ví dụ về ghi dữ liệu vào file.\n");

    fclose(file); // Đóng file sau khi ghi xong

    return 0;
}

3. Đọc dữ liệu từ file văn bản: Để đọc dữ liệu từ file văn bản, bạn có thể sử dụng hàm fscanf.

c
#include <stdio.h>

int main() {
    FILE *file;
    file = fopen("input.txt", "r"); // Mở file input.txt để đọc
    if (file == NULL) {
        printf("Không thể mở file.\n");
        return 1;
    }

    char line[100];
    while (fgets(line, sizeof(line), file) != NULL) {
        printf("%s", line);
    }

    fclose(file); // Đóng file sau khi đọc xong

    return 0;
}

4. Ghi và đọc file nhị phân: Để làm việc với file nhị phân, bạn cần sử dụng hàm fwrite để ghi và hàm fread để đọc.

c
#include <stdio.h>

struct Student {
    char name[50];
    int age;
};

int main() {
    FILE *file;
    file = fopen("students.dat", "wb"); // Mở file nhị phân để ghi
    if (file == NULL) {
        printf("Không thể mở file.\n");
        return 1;
    }

    struct Student student = {"John", 20};
    fwrite(&student, sizeof(struct Student), 1, file);

    fclose(file); // Đóng file sau khi ghi xong

    // Đọc dữ liệu từ file nhị phân
    file = fopen("students.dat", "rb"); // Mở file nhị phân để đọc
    if (file == NULL) {
        printf("Không thể mở file.\n");
        return 1;
    }

    struct Student readStudent;
    fread(&readStudent, sizeof(struct Student), 1, file);
    printf("Tên: %s, Tuổi: %d\n", readStudent.name, readStudent.age);

    fclose(file); // Đóng file sau khi đọc xong

    return 0;
}

Trong các ví dụ trên, chúng ta đã thấy cách mở, ghi, và đọc các loại file khác nhau (văn bản và nhị phân) bằng cách sử dụng các hàm tương ứng.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top