Tôi đang cố gắng đọc dữ liệu từ một tệp văn bản, xóa nó, và sau đó viết vào nó, theo thứ tự đó bằng cách sử dụng lớp fstream
.Đọc từ tập tin, xóa nó, ghi vào nó
Câu hỏi của tôi là cách xóa tệp sau khi đọc. Tôi biết rằng tôi có thể mở một tệp và xóa nó cùng lúc, nhưng có một số chức năng mà tôi có thể gọi trên luồng để xóa nội dung của nó không?
Làm như thế này, vẫn còn một khoảng cách giữa xóa và đổi tên. Trên hệ thống tập tin UNIX, bạn nên fsync, bỏ qua xóa, và chỉ cần đổi tên tập tin tạm thời trên tập tin đầu tiên; nó sẽ được thay thế bằng nguyên tử. Trên Windows, NTFS có chức năng ReplaceFile đặc biệt; thay thế nguyên tử không thể thực hiện được trên các hệ thống tập tin khác AFAIK. – ephemient