Sử dụng buffer để đọc và ghi file C++

Mình đang tìm tài liệu về đọc và ghi file bằng buffer.

Mình có Google thì thấy đa phần đều dùng ifstream hoặc ofstream khi làm ví dụ cơ bản. Một số bài có nói nếu dùng 2 cái này nó sẽ rất chậm. Tốt nhất là dùng buffer.

Trên DNH có 1 bạn cũng hỏi nhưng không thấy ai trả lời vào vấn đề chính.

Mình chưa hiểu lắm về cách dùng buffer. Mình có thể khởi tạo 1 buffer rồi dùng đi dùng lại cho đến khi hết file được không? Nếu có thì làm sao overwrite data hiện tại trong buffer?

Nếu bạn nào có tài liệu nào chi tiết thì chia sẻ với mình nha. Mình cảm ơn nhiều.

Chẳng rõ bạn muốn làm cái gì.
Đây là tài liệu nghiên cứu về vấn đề đọc file tuần tự sao cho nhanh của Microsoft, bạn có thể tham khảo: https://www.microsoft.com/en-us/research/publication/sequential-file-programming-patterns-and-performance-with-net/

2 Likes

Cám ơn bạn. Cái này đúng thứ mình cần.
Mình đang học Optimized C++ và mới tới phần File System. Phần chính nói về kĩ thuật Load-in-place. Mình muốn tìm hiểu về cơ bản I/O trước khi vô phần chính.
https://www.gamasutra.com/view/feature/1461/fast_file_loading_pt_2.php?print=1

fstream có sẵn buffer rồi mà còn sử dụng buffer gì nữa @_@ Nếu chậm thì tăng kích cỡ buffer của fstream lên là nhanh thôi :V

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?