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

Giải thích chế độ thêm (append) file trong ngôn ngữ C


File là tập hợp bản ghi hoặc vị trí trên ổ cứng lưu trữ dữ liệu vĩnh viễn.

Tại sao cần File?

  • Dữ liệu mất khi chương trình kết thúc.
  • Lưu vào file giữ dữ liệu vĩnh viễn.
  • Dễ dàng nhập lượng dữ liệu lớn.
  • Truy cập nội dung file bằng vài lệnh đơn giản.
  • Di chuyển dữ liệu giữa máy tính dễ dàng.
  • C cung cấp nhiều cách truy cập file.

Các thao tác trên File

  • Đặt tên file
  • Mở file
  • Đọc từ file
  • Ghi vào file
  • Đóng file

Cú pháp

Khai báo con trỏ file:

FILE *File_pointer;  // Ví dụ: FILE *fptr;

Mở file chế độ append (thêm):

FILE *fp;
fp = fopen("sample.txt", "a");
  • Nếu file không tồn tại: tạo file mới.
  • Nếu file tồn tại: nội dung mới được thêm vào cuối nội dung cũ.

Chương trình mẫu

Mở file chế độ append, đếm số dòng trước và sau khi thêm:

#include <stdio.h>
#define FILENAME "Employee Details.txt"

int main() {
    FILE *fp;
    char ch;
    int linesCount = 0;
    
    // Đọc file đếm dòng ban đầu
    fp = fopen(FILENAME, "r");
    if (fp == NULL) {
        printf("File \"%s\" không tồn tại!!!\n", FILENAME);
        return -1;
    }
    while ((ch = getc(fp)) != EOF) {
        if (ch == '\n') linesCount++;
    }
    fclose(fp);
    printf("Số dòng trước khi thêm: %d\n", linesCount);
    
    // Mở file chế độ append thêm nội dung
    fp = fopen(FILENAME, "a");
    while ((ch = getchar()) != EOF) {
        putc(ch, fp);
    }
    fclose(fp);
    
    // Đọc lại đếm dòng
    fp = fopen(FILENAME, "r");
    if (fp == NULL) {
        printf("File \"%s\" không tồn tại!!!\n", FILENAME);
        return -1;
    }
    while ((ch = getc(fp)) != EOF) {
        if (ch == '\n') linesCount++;
    }
    fclose(fp);
    printf("Số dòng sau khi thêm: %d\n", linesCount);
    return 0;
}

Kết quả chạy

Số dòng trước khi thêm: 3
WELCOME to Tutorials
Its C Programming Language
^Z
Số dòng sau khi thêm: 8