Phương thức fopen() trong C được dùng để mở file được chỉ định.
Hãy xem ví dụ để hiểu vấn đề
Cú pháp
FILE *fopen(filename, mode)
Các chế độ hợp lệ để mở file bằng fopen(): 'r', 'w', 'a', 'r+', 'w+', 'a+'. Chi tiết xem hàm thư viện C - fopen()
fopen() cho file hiện có ở chế độ ghi
Nếu file cần mở không tồn tại trong thư mục hiện tại, một file rỗng mới với chế độ ghi sẽ được tạo.
Nếu file cần mở tồn tại trong thư mục hiện tại và được mở bằng 'w' / 'w+', nội dung sẽ bị xóa trước khi ghi.
Ví dụ
Chương trình minh họa hoạt động của giải pháp
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *opFile = fopen("test.txt", "w");
if (opFile == NULL){
puts("Không thể mở file");
exit(0);
}
else{
fputs("includehelp", opFile);
puts("Ghi file thành công");
fclose(opFile);
}
return 0;
}
Kết quả
Ghi file thành công
Nội dung ban đầu của file − Ngôn ngữ lập trình C
Nội dung sau khi ghi − include help
Thao tác ghi thực hiện công việc nhưng xóa toàn bộ nội dung có mặt trong file trước khi ghi. Để giải quyết vấn đề này, ngôn ngữ C cung cấp hai cách tiếp cận khác nhau mà lập trình viên có thể dùng tùy theo yêu cầu chương trình.
'a' (append) mode − chế độ này thêm nội dung mới vào cuối nội dung đã có trong file.
'wx' mode − chế độ này trả về NULL nếu file đã tồn tại trong thư mục.
Ví dụ
Chương trình minh họa ghi file hiện có dùng chế độ 'a'
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *opFile = fopen("test.txt", "a");
if (opFile == NULL){
puts("Không thể mở file");
exit(0);
}
else{
fputs("includehelp", opFile);
puts("Ghi file thành công");
fclose(opFile);
}
return 0;
}
Kết quả
Ghi file thành công
Nội dung ban đầu của file − Ngôn ngữ lập trình C
Nội dung sau khi thêm − Ngôn ngữ lập trình C includehelp
Ví dụ
Chương trình minh họa ghi file hiện có dùng chế độ 'wx'
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *opFile = fopen("test.txt", "wx");
if (opFile == NULL){
puts("Không thể mở file");
exit(0);
}
else{
fputs("includehelp", opFile);
puts("Ghi file thành công");
fclose(opFile);
}
return 0;
}
Kết quả
Ghi file thành công