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