标签: c++ file buffer
我正在设计一个支持缓冲的读写功能的C ++文件类。
但是,我遇到了一个问题。在将写入缓冲区中的数据写入磁盘之前,如果我尝试从磁盘上的文件读取数据,则读取的数据将是错误的。如何解决问题?
我有两种解决方案,但似乎都不好:
始终在任何读取操作之前刷新写入缓冲区。但这会降低性能。
尝试读取数据时,请检查要读取的数据是在写缓冲区中还是在磁盘文件中,还是部分在写缓冲区中又部分在磁盘文件中。然后根据检查结果,从写缓冲区或磁盘文件中获取数据。这种解决方案相当复杂。
谢谢