gpt4 book ai didi

c++ - 多次访问 r/w 中的文件

转载 作者:行者123 更新时间:2023-11-30 04:22:26 25 4
gpt4 key购买 nike

我打算编写一个程序,它必须以读写方式多次访问某个文件。所以我决定使用 fstream,因为我可以将这个类用于读写目的。

我的想法是在应用程序启动时打开文件,然后在应用程序关闭时将其关闭。

由于文件可以任意大,我打算使用“分页”结构,其中:

1)为每个页面预分配固定数量的内存和固定数量的页面

2) 加载部分文件到第一个空闲页面

3) 如果没有空闲页面,我选择一个符合特定条件的非空页面,提交其中的所有编辑(如果有的话),然后加载页面中的文件部分。

这并不难编码。但我想知道如果我要重新发明轮子......也许 fstream 本身是以一种聪明的方式编写的,因此它也实现了类似的分页机制。那样的话,我也就不管了,随便写写看。

一些建议?

最佳答案

不要自己做。除非您使用非常奇特的实现,否则 fstream 类已经有效地实现了这种机制。

结帐 http://www.cplusplus.com/doc/tutorial/files/ “缓冲区和同步”

如果您使用旧内核或标准库实现 seek 进入大于 2GB 的文件,则可能会出现问题。检查这个 Large file support in C++或使用 Boost.Filesystem

关于c++ - 多次访问 r/w 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13819712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com