Quản lý File trong C
File lưu trữ dữ liệu bền vững. C cung cấp các hàm:
| Hàm | Chức năng |
|---|---|
| fopen() | Mở/Tạo file |
| fclose() | Đóng file |
| fprintf() | Ghi khối dữ liệu |
| fscanf() | Đọc khối dữ liệu |
| getc() | Đọc 1 ký tự |
| putc() | Ghi 1 ký tự |
| getw() | Đọc 1 số nguyên |
| putw() | Ghi 1 số nguyên |
| fseek() | Di chuyển con trỏ file |
| ftell() | Lấy vị trí con trỏ file |
| rewind() | Về đầu file |
Ví dụ: Sao chép file
Input: source = x1.txt, target = x2.txt Output: File copied successfully.
Code C
#include <stdio.h>
#include <stdlib.h>
int main() {
char ch;
FILE *source, *target;
char source_file[] = "x1.txt";
char target_file[] = "x2.txt";
source = fopen(source_file, "r");
if (source == NULL) {
printf("Cannot open source file\n");
exit(EXIT_FAILURE);
}
target = fopen(target_file, "w");
if (target == NULL) {
fclose(source);
printf("Cannot create target file\n");
exit(EXIT_FAILURE);
}
while ((ch = fgetc(source)) != EOF)
fputc(ch, target);
printf("File copied successfully.\n");
fclose(source);
fclose(target);
return 0;
}
Giải thích
- Mở file nguồn chế độ "r" (đọc)
- Mở file đích chế độ "w" (ghi, tạo mới/ghi đè)
- Đọc từng ký tự từ nguồn, ghi vào đích cho đến EOF
- Đóng cả hai file
Lưu ý
- Luôn kiểm tra trả về
NULL củafopen() - Sử dụng
fgetc/fputc cho văn bản,fread/fwrite cho nhị phân - Đóng file sau khi dùng xong