#include<stdio.h>
int main() {
FILE* fp;
fp = fopen("temp.txt", "w");
fprintf(fp, "Hello, World!\n");
// remove("temp.txt"); this requires the filename as an argument
// removefile(fp); <--- is something like this possible?
return 0;
}
Chức năng xóa (defined in stdio.h) lấy tên tệp làm tham số chứ không phải là chính con trỏ tệp.Làm cách nào để xóa tệp được trỏ bởi FILE * trong C?
Có một số chức năng trong thư viện chuẩn C không thực hiện xóa tệp và lấy con trỏ tệp làm tranh luận không?
trong khi ý tưởng của bạn là chính xác, nó không được đặt thành NULL trong mẫu. – Andrey
@Audrey: 'Đóng tệp được liên kết với luồng và hủy liên kết tệp đó.' – Svisstack
hiệu chỉnh, nó không được đặt thành rỗng. Đó là một điểm để giải phóng bộ nhớ, và tiềm năng cho một segv/gpf. Trong thực tế, bạn nên thêm một dòng 'fp = 0' ngay sau fclose(). – vrdhn